#![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)]
use protobuf::Message;
#[derive(PartialEq,Clone,Default)]
pub struct Trace {
pub start_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub end_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub duration_ns: u64,
pub root: ::protobuf::SingularPtrField<Trace_Node>,
pub signature: ::std::string::String,
pub unexecutedOperationBody: ::std::string::String,
pub unexecutedOperationName: ::std::string::String,
pub details: ::protobuf::SingularPtrField<Trace_Details>,
pub client_name: ::std::string::String,
pub client_version: ::std::string::String,
pub client_address: ::std::string::String,
pub client_reference_id: ::std::string::String,
pub http: ::protobuf::SingularPtrField<Trace_HTTP>,
pub cache_policy: ::protobuf::SingularPtrField<Trace_CachePolicy>,
pub query_plan: ::protobuf::SingularPtrField<Trace_QueryPlanNode>,
pub full_query_cache_hit: bool,
pub persisted_query_hit: bool,
pub persisted_query_register: bool,
pub registered_operation: bool,
pub forbidden_operation: bool,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace {
fn default() -> &'a Trace {
<Trace as ::protobuf::Message>::default_instance()
}
}
impl Trace {
pub fn new() -> Trace {
::std::default::Default::default()
}
pub fn get_start_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.start_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_start_time(&mut self) {
self.start_time.clear();
}
pub fn has_start_time(&self) -> bool {
self.start_time.is_some()
}
pub fn set_start_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.start_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_start_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.start_time.is_none() {
self.start_time.set_default();
}
self.start_time.as_mut().unwrap()
}
pub fn take_start_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.start_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
pub fn get_end_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.end_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_end_time(&mut self) {
self.end_time.clear();
}
pub fn has_end_time(&self) -> bool {
self.end_time.is_some()
}
pub fn set_end_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.end_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_end_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.end_time.is_none() {
self.end_time.set_default();
}
self.end_time.as_mut().unwrap()
}
pub fn take_end_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.end_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
pub fn get_duration_ns(&self) -> u64 {
self.duration_ns
}
pub fn clear_duration_ns(&mut self) {
self.duration_ns = 0;
}
pub fn set_duration_ns(&mut self, v: u64) {
self.duration_ns = v;
}
pub fn get_root(&self) -> &Trace_Node {
self.root.as_ref().unwrap_or_else(|| <Trace_Node as ::protobuf::Message>::default_instance())
}
pub fn clear_root(&mut self) {
self.root.clear();
}
pub fn has_root(&self) -> bool {
self.root.is_some()
}
pub fn set_root(&mut self, v: Trace_Node) {
self.root = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_root(&mut self) -> &mut Trace_Node {
if self.root.is_none() {
self.root.set_default();
}
self.root.as_mut().unwrap()
}
pub fn take_root(&mut self) -> Trace_Node {
self.root.take().unwrap_or_else(|| Trace_Node::new())
}
pub fn get_signature(&self) -> &str {
&self.signature
}
pub fn clear_signature(&mut self) {
self.signature.clear();
}
pub fn set_signature(&mut self, v: ::std::string::String) {
self.signature = v;
}
pub fn mut_signature(&mut self) -> &mut ::std::string::String {
&mut self.signature
}
pub fn take_signature(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.signature, ::std::string::String::new())
}
pub fn get_unexecutedOperationBody(&self) -> &str {
&self.unexecutedOperationBody
}
pub fn clear_unexecutedOperationBody(&mut self) {
self.unexecutedOperationBody.clear();
}
pub fn set_unexecutedOperationBody(&mut self, v: ::std::string::String) {
self.unexecutedOperationBody = v;
}
pub fn mut_unexecutedOperationBody(&mut self) -> &mut ::std::string::String {
&mut self.unexecutedOperationBody
}
pub fn take_unexecutedOperationBody(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.unexecutedOperationBody, ::std::string::String::new())
}
pub fn get_unexecutedOperationName(&self) -> &str {
&self.unexecutedOperationName
}
pub fn clear_unexecutedOperationName(&mut self) {
self.unexecutedOperationName.clear();
}
pub fn set_unexecutedOperationName(&mut self, v: ::std::string::String) {
self.unexecutedOperationName = v;
}
pub fn mut_unexecutedOperationName(&mut self) -> &mut ::std::string::String {
&mut self.unexecutedOperationName
}
pub fn take_unexecutedOperationName(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.unexecutedOperationName, ::std::string::String::new())
}
pub fn get_details(&self) -> &Trace_Details {
self.details.as_ref().unwrap_or_else(|| <Trace_Details as ::protobuf::Message>::default_instance())
}
pub fn clear_details(&mut self) {
self.details.clear();
}
pub fn has_details(&self) -> bool {
self.details.is_some()
}
pub fn set_details(&mut self, v: Trace_Details) {
self.details = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_details(&mut self) -> &mut Trace_Details {
if self.details.is_none() {
self.details.set_default();
}
self.details.as_mut().unwrap()
}
pub fn take_details(&mut self) -> Trace_Details {
self.details.take().unwrap_or_else(|| Trace_Details::new())
}
pub fn get_client_name(&self) -> &str {
&self.client_name
}
pub fn clear_client_name(&mut self) {
self.client_name.clear();
}
pub fn set_client_name(&mut self, v: ::std::string::String) {
self.client_name = v;
}
pub fn mut_client_name(&mut self) -> &mut ::std::string::String {
&mut self.client_name
}
pub fn take_client_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.client_name, ::std::string::String::new())
}
pub fn get_client_version(&self) -> &str {
&self.client_version
}
pub fn clear_client_version(&mut self) {
self.client_version.clear();
}
pub fn set_client_version(&mut self, v: ::std::string::String) {
self.client_version = v;
}
pub fn mut_client_version(&mut self) -> &mut ::std::string::String {
&mut self.client_version
}
pub fn take_client_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.client_version, ::std::string::String::new())
}
pub fn get_client_address(&self) -> &str {
&self.client_address
}
pub fn clear_client_address(&mut self) {
self.client_address.clear();
}
pub fn set_client_address(&mut self, v: ::std::string::String) {
self.client_address = v;
}
pub fn mut_client_address(&mut self) -> &mut ::std::string::String {
&mut self.client_address
}
pub fn take_client_address(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.client_address, ::std::string::String::new())
}
pub fn get_client_reference_id(&self) -> &str {
&self.client_reference_id
}
pub fn clear_client_reference_id(&mut self) {
self.client_reference_id.clear();
}
pub fn set_client_reference_id(&mut self, v: ::std::string::String) {
self.client_reference_id = v;
}
pub fn mut_client_reference_id(&mut self) -> &mut ::std::string::String {
&mut self.client_reference_id
}
pub fn take_client_reference_id(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.client_reference_id, ::std::string::String::new())
}
pub fn get_http(&self) -> &Trace_HTTP {
self.http.as_ref().unwrap_or_else(|| <Trace_HTTP as ::protobuf::Message>::default_instance())
}
pub fn clear_http(&mut self) {
self.http.clear();
}
pub fn has_http(&self) -> bool {
self.http.is_some()
}
pub fn set_http(&mut self, v: Trace_HTTP) {
self.http = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_http(&mut self) -> &mut Trace_HTTP {
if self.http.is_none() {
self.http.set_default();
}
self.http.as_mut().unwrap()
}
pub fn take_http(&mut self) -> Trace_HTTP {
self.http.take().unwrap_or_else(|| Trace_HTTP::new())
}
pub fn get_cache_policy(&self) -> &Trace_CachePolicy {
self.cache_policy.as_ref().unwrap_or_else(|| <Trace_CachePolicy as ::protobuf::Message>::default_instance())
}
pub fn clear_cache_policy(&mut self) {
self.cache_policy.clear();
}
pub fn has_cache_policy(&self) -> bool {
self.cache_policy.is_some()
}
pub fn set_cache_policy(&mut self, v: Trace_CachePolicy) {
self.cache_policy = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_cache_policy(&mut self) -> &mut Trace_CachePolicy {
if self.cache_policy.is_none() {
self.cache_policy.set_default();
}
self.cache_policy.as_mut().unwrap()
}
pub fn take_cache_policy(&mut self) -> Trace_CachePolicy {
self.cache_policy.take().unwrap_or_else(|| Trace_CachePolicy::new())
}
pub fn get_query_plan(&self) -> &Trace_QueryPlanNode {
self.query_plan.as_ref().unwrap_or_else(|| <Trace_QueryPlanNode as ::protobuf::Message>::default_instance())
}
pub fn clear_query_plan(&mut self) {
self.query_plan.clear();
}
pub fn has_query_plan(&self) -> bool {
self.query_plan.is_some()
}
pub fn set_query_plan(&mut self, v: Trace_QueryPlanNode) {
self.query_plan = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_query_plan(&mut self) -> &mut Trace_QueryPlanNode {
if self.query_plan.is_none() {
self.query_plan.set_default();
}
self.query_plan.as_mut().unwrap()
}
pub fn take_query_plan(&mut self) -> Trace_QueryPlanNode {
self.query_plan.take().unwrap_or_else(|| Trace_QueryPlanNode::new())
}
pub fn get_full_query_cache_hit(&self) -> bool {
self.full_query_cache_hit
}
pub fn clear_full_query_cache_hit(&mut self) {
self.full_query_cache_hit = false;
}
pub fn set_full_query_cache_hit(&mut self, v: bool) {
self.full_query_cache_hit = v;
}
pub fn get_persisted_query_hit(&self) -> bool {
self.persisted_query_hit
}
pub fn clear_persisted_query_hit(&mut self) {
self.persisted_query_hit = false;
}
pub fn set_persisted_query_hit(&mut self, v: bool) {
self.persisted_query_hit = v;
}
pub fn get_persisted_query_register(&self) -> bool {
self.persisted_query_register
}
pub fn clear_persisted_query_register(&mut self) {
self.persisted_query_register = false;
}
pub fn set_persisted_query_register(&mut self, v: bool) {
self.persisted_query_register = v;
}
pub fn get_registered_operation(&self) -> bool {
self.registered_operation
}
pub fn clear_registered_operation(&mut self) {
self.registered_operation = false;
}
pub fn set_registered_operation(&mut self, v: bool) {
self.registered_operation = v;
}
pub fn get_forbidden_operation(&self) -> bool {
self.forbidden_operation
}
pub fn clear_forbidden_operation(&mut self) {
self.forbidden_operation = false;
}
pub fn set_forbidden_operation(&mut self, v: bool) {
self.forbidden_operation = v;
}
}
impl ::protobuf::Message for Trace {
fn is_initialized(&self) -> bool {
for v in &self.start_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.end_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.root {
if !v.is_initialized() {
return false;
}
};
for v in &self.details {
if !v.is_initialized() {
return false;
}
};
for v in &self.http {
if !v.is_initialized() {
return false;
}
};
for v in &self.cache_policy {
if !v.is_initialized() {
return false;
}
};
for v in &self.query_plan {
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 {
4 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.start_time)?;
},
3 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.end_time)?;
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.duration_ns = tmp;
},
14 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.root)?;
},
19 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.signature)?;
},
27 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.unexecutedOperationBody)?;
},
28 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.unexecutedOperationName)?;
},
6 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.details)?;
},
7 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.client_name)?;
},
8 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.client_version)?;
},
9 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.client_address)?;
},
23 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.client_reference_id)?;
},
10 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.http)?;
},
18 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cache_policy)?;
},
26 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.query_plan)?;
},
20 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.full_query_cache_hit = tmp;
},
21 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.persisted_query_hit = tmp;
},
22 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.persisted_query_register = tmp;
},
24 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.registered_operation = tmp;
},
25 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.forbidden_operation = 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 let Some(ref v) = self.start_time.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.end_time.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.duration_ns != 0 {
my_size += ::protobuf::rt::value_size(11, self.duration_ns, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.root.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.signature.is_empty() {
my_size += ::protobuf::rt::string_size(19, &self.signature);
}
if !self.unexecutedOperationBody.is_empty() {
my_size += ::protobuf::rt::string_size(27, &self.unexecutedOperationBody);
}
if !self.unexecutedOperationName.is_empty() {
my_size += ::protobuf::rt::string_size(28, &self.unexecutedOperationName);
}
if let Some(ref v) = self.details.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.client_name.is_empty() {
my_size += ::protobuf::rt::string_size(7, &self.client_name);
}
if !self.client_version.is_empty() {
my_size += ::protobuf::rt::string_size(8, &self.client_version);
}
if !self.client_address.is_empty() {
my_size += ::protobuf::rt::string_size(9, &self.client_address);
}
if !self.client_reference_id.is_empty() {
my_size += ::protobuf::rt::string_size(23, &self.client_reference_id);
}
if let Some(ref v) = self.http.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.cache_policy.as_ref() {
let len = v.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.query_plan.as_ref() {
let len = v.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.full_query_cache_hit != false {
my_size += 3;
}
if self.persisted_query_hit != false {
my_size += 3;
}
if self.persisted_query_register != false {
my_size += 3;
}
if self.registered_operation != false {
my_size += 3;
}
if self.forbidden_operation != false {
my_size += 3;
}
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 let Some(ref v) = self.start_time.as_ref() {
os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.end_time.as_ref() {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if self.duration_ns != 0 {
os.write_uint64(11, self.duration_ns)?;
}
if let Some(ref v) = self.root.as_ref() {
os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.signature.is_empty() {
os.write_string(19, &self.signature)?;
}
if !self.unexecutedOperationBody.is_empty() {
os.write_string(27, &self.unexecutedOperationBody)?;
}
if !self.unexecutedOperationName.is_empty() {
os.write_string(28, &self.unexecutedOperationName)?;
}
if let Some(ref v) = self.details.as_ref() {
os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.client_name.is_empty() {
os.write_string(7, &self.client_name)?;
}
if !self.client_version.is_empty() {
os.write_string(8, &self.client_version)?;
}
if !self.client_address.is_empty() {
os.write_string(9, &self.client_address)?;
}
if !self.client_reference_id.is_empty() {
os.write_string(23, &self.client_reference_id)?;
}
if let Some(ref v) = self.http.as_ref() {
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 Some(ref v) = self.cache_policy.as_ref() {
os.write_tag(18, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.query_plan.as_ref() {
os.write_tag(26, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if self.full_query_cache_hit != false {
os.write_bool(20, self.full_query_cache_hit)?;
}
if self.persisted_query_hit != false {
os.write_bool(21, self.persisted_query_hit)?;
}
if self.persisted_query_register != false {
os.write_bool(22, self.persisted_query_register)?;
}
if self.registered_operation != false {
os.write_bool(24, self.registered_operation)?;
}
if self.forbidden_operation != false {
os.write_bool(25, self.forbidden_operation)?;
}
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() -> Trace {
Trace::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"start_time",
|m: &Trace| { &m.start_time },
|m: &mut Trace| { &mut m.start_time },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"end_time",
|m: &Trace| { &m.end_time },
|m: &mut Trace| { &mut m.end_time },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"duration_ns",
|m: &Trace| { &m.duration_ns },
|m: &mut Trace| { &mut m.duration_ns },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_Node>>(
"root",
|m: &Trace| { &m.root },
|m: &mut Trace| { &mut m.root },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"signature",
|m: &Trace| { &m.signature },
|m: &mut Trace| { &mut m.signature },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"unexecutedOperationBody",
|m: &Trace| { &m.unexecutedOperationBody },
|m: &mut Trace| { &mut m.unexecutedOperationBody },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"unexecutedOperationName",
|m: &Trace| { &m.unexecutedOperationName },
|m: &mut Trace| { &mut m.unexecutedOperationName },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_Details>>(
"details",
|m: &Trace| { &m.details },
|m: &mut Trace| { &mut m.details },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_name",
|m: &Trace| { &m.client_name },
|m: &mut Trace| { &mut m.client_name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_version",
|m: &Trace| { &m.client_version },
|m: &mut Trace| { &mut m.client_version },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_address",
|m: &Trace| { &m.client_address },
|m: &mut Trace| { &mut m.client_address },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_reference_id",
|m: &Trace| { &m.client_reference_id },
|m: &mut Trace| { &mut m.client_reference_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP>>(
"http",
|m: &Trace| { &m.http },
|m: &mut Trace| { &mut m.http },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_CachePolicy>>(
"cache_policy",
|m: &Trace| { &m.cache_policy },
|m: &mut Trace| { &mut m.cache_policy },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_QueryPlanNode>>(
"query_plan",
|m: &Trace| { &m.query_plan },
|m: &mut Trace| { &mut m.query_plan },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"full_query_cache_hit",
|m: &Trace| { &m.full_query_cache_hit },
|m: &mut Trace| { &mut m.full_query_cache_hit },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"persisted_query_hit",
|m: &Trace| { &m.persisted_query_hit },
|m: &mut Trace| { &mut m.persisted_query_hit },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"persisted_query_register",
|m: &Trace| { &m.persisted_query_register },
|m: &mut Trace| { &mut m.persisted_query_register },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"registered_operation",
|m: &Trace| { &m.registered_operation },
|m: &mut Trace| { &mut m.registered_operation },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"forbidden_operation",
|m: &Trace| { &m.forbidden_operation },
|m: &mut Trace| { &mut m.forbidden_operation },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace>(
"Trace",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace {
static instance: ::protobuf::rt::LazyV2<Trace> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace::new)
}
}
impl ::protobuf::Clear for Trace {
fn clear(&mut self) {
self.start_time.clear();
self.end_time.clear();
self.duration_ns = 0;
self.root.clear();
self.signature.clear();
self.unexecutedOperationBody.clear();
self.unexecutedOperationName.clear();
self.details.clear();
self.client_name.clear();
self.client_version.clear();
self.client_address.clear();
self.client_reference_id.clear();
self.http.clear();
self.cache_policy.clear();
self.query_plan.clear();
self.full_query_cache_hit = false;
self.persisted_query_hit = false;
self.persisted_query_register = false;
self.registered_operation = false;
self.forbidden_operation = false;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_CachePolicy {
pub scope: Trace_CachePolicy_Scope,
pub max_age_ns: i64,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_CachePolicy {
fn default() -> &'a Trace_CachePolicy {
<Trace_CachePolicy as ::protobuf::Message>::default_instance()
}
}
impl Trace_CachePolicy {
pub fn new() -> Trace_CachePolicy {
::std::default::Default::default()
}
pub fn get_scope(&self) -> Trace_CachePolicy_Scope {
self.scope
}
pub fn clear_scope(&mut self) {
self.scope = Trace_CachePolicy_Scope::UNKNOWN;
}
pub fn set_scope(&mut self, v: Trace_CachePolicy_Scope) {
self.scope = v;
}
pub fn get_max_age_ns(&self) -> i64 {
self.max_age_ns
}
pub fn clear_max_age_ns(&mut self) {
self.max_age_ns = 0;
}
pub fn set_max_age_ns(&mut self, v: i64) {
self.max_age_ns = v;
}
}
impl ::protobuf::Message for Trace_CachePolicy {
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_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.scope, 1, &mut self.unknown_fields)?
},
2 => {
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.max_age_ns = 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.scope != Trace_CachePolicy_Scope::UNKNOWN {
my_size += ::protobuf::rt::enum_size(1, self.scope);
}
if self.max_age_ns != 0 {
my_size += ::protobuf::rt::value_size(2, self.max_age_ns, ::protobuf::wire_format::WireTypeVarint);
}
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.scope != Trace_CachePolicy_Scope::UNKNOWN {
os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.scope))?;
}
if self.max_age_ns != 0 {
os.write_int64(2, self.max_age_ns)?;
}
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() -> Trace_CachePolicy {
Trace_CachePolicy::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::ProtobufTypeEnum<Trace_CachePolicy_Scope>>(
"scope",
|m: &Trace_CachePolicy| { &m.scope },
|m: &mut Trace_CachePolicy| { &mut m.scope },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
"max_age_ns",
|m: &Trace_CachePolicy| { &m.max_age_ns },
|m: &mut Trace_CachePolicy| { &mut m.max_age_ns },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_CachePolicy>(
"Trace.CachePolicy",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_CachePolicy {
static instance: ::protobuf::rt::LazyV2<Trace_CachePolicy> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_CachePolicy::new)
}
}
impl ::protobuf::Clear for Trace_CachePolicy {
fn clear(&mut self) {
self.scope = Trace_CachePolicy_Scope::UNKNOWN;
self.max_age_ns = 0;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_CachePolicy {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_CachePolicy {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum Trace_CachePolicy_Scope {
UNKNOWN = 0,
PUBLIC = 1,
PRIVATE = 2,
}
impl ::protobuf::ProtobufEnum for Trace_CachePolicy_Scope {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<Trace_CachePolicy_Scope> {
match value {
0 => ::std::option::Option::Some(Trace_CachePolicy_Scope::UNKNOWN),
1 => ::std::option::Option::Some(Trace_CachePolicy_Scope::PUBLIC),
2 => ::std::option::Option::Some(Trace_CachePolicy_Scope::PRIVATE),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [Trace_CachePolicy_Scope] = &[
Trace_CachePolicy_Scope::UNKNOWN,
Trace_CachePolicy_Scope::PUBLIC,
Trace_CachePolicy_Scope::PRIVATE,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<Trace_CachePolicy_Scope>("Trace.CachePolicy.Scope", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for Trace_CachePolicy_Scope {
}
impl ::std::default::Default for Trace_CachePolicy_Scope {
fn default() -> Self {
Trace_CachePolicy_Scope::UNKNOWN
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_CachePolicy_Scope {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_Details {
pub variables_json: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
pub operation_name: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_Details {
fn default() -> &'a Trace_Details {
<Trace_Details as ::protobuf::Message>::default_instance()
}
}
impl Trace_Details {
pub fn new() -> Trace_Details {
::std::default::Default::default()
}
pub fn get_variables_json(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
&self.variables_json
}
pub fn clear_variables_json(&mut self) {
self.variables_json.clear();
}
pub fn set_variables_json(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) {
self.variables_json = v;
}
pub fn mut_variables_json(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> {
&mut self.variables_json
}
pub fn take_variables_json(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> {
::std::mem::replace(&mut self.variables_json, ::std::collections::HashMap::new())
}
pub fn get_operation_name(&self) -> &str {
&self.operation_name
}
pub fn clear_operation_name(&mut self) {
self.operation_name.clear();
}
pub fn set_operation_name(&mut self, v: ::std::string::String) {
self.operation_name = v;
}
pub fn mut_operation_name(&mut self) -> &mut ::std::string::String {
&mut self.operation_name
}
pub fn take_operation_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.operation_name, ::std::string::String::new())
}
}
impl ::protobuf::Message for Trace_Details {
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 {
4 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.variables_json)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.operation_name)?;
},
_ => {
::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 += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(4, &self.variables_json);
if !self.operation_name.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.operation_name);
}
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<()> {
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(4, &self.variables_json, os)?;
if !self.operation_name.is_empty() {
os.write_string(3, &self.operation_name)?;
}
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() -> Trace_Details {
Trace_Details::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_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
"variables_json",
|m: &Trace_Details| { &m.variables_json },
|m: &mut Trace_Details| { &mut m.variables_json },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"operation_name",
|m: &Trace_Details| { &m.operation_name },
|m: &mut Trace_Details| { &mut m.operation_name },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_Details>(
"Trace.Details",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_Details {
static instance: ::protobuf::rt::LazyV2<Trace_Details> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_Details::new)
}
}
impl ::protobuf::Clear for Trace_Details {
fn clear(&mut self) {
self.variables_json.clear();
self.operation_name.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_Details {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_Details {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_Error {
pub message: ::std::string::String,
pub location: ::protobuf::RepeatedField<Trace_Location>,
pub time_ns: u64,
pub json: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_Error {
fn default() -> &'a Trace_Error {
<Trace_Error as ::protobuf::Message>::default_instance()
}
}
impl Trace_Error {
pub fn new() -> Trace_Error {
::std::default::Default::default()
}
pub fn get_message(&self) -> &str {
&self.message
}
pub fn clear_message(&mut self) {
self.message.clear();
}
pub fn set_message(&mut self, v: ::std::string::String) {
self.message = v;
}
pub fn mut_message(&mut self) -> &mut ::std::string::String {
&mut self.message
}
pub fn take_message(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.message, ::std::string::String::new())
}
pub fn get_location(&self) -> &[Trace_Location] {
&self.location
}
pub fn clear_location(&mut self) {
self.location.clear();
}
pub fn set_location(&mut self, v: ::protobuf::RepeatedField<Trace_Location>) {
self.location = v;
}
pub fn mut_location(&mut self) -> &mut ::protobuf::RepeatedField<Trace_Location> {
&mut self.location
}
pub fn take_location(&mut self) -> ::protobuf::RepeatedField<Trace_Location> {
::std::mem::replace(&mut self.location, ::protobuf::RepeatedField::new())
}
pub fn get_time_ns(&self) -> u64 {
self.time_ns
}
pub fn clear_time_ns(&mut self) {
self.time_ns = 0;
}
pub fn set_time_ns(&mut self, v: u64) {
self.time_ns = v;
}
pub fn get_json(&self) -> &str {
&self.json
}
pub fn clear_json(&mut self) {
self.json.clear();
}
pub fn set_json(&mut self, v: ::std::string::String) {
self.json = v;
}
pub fn mut_json(&mut self) -> &mut ::std::string::String {
&mut self.json
}
pub fn take_json(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.json, ::std::string::String::new())
}
}
impl ::protobuf::Message for Trace_Error {
fn is_initialized(&self) -> bool {
for v in &self.location {
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 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.message)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.location)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.time_ns = tmp;
},
4 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.json)?;
},
_ => {
::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.message.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.message);
}
for value in &self.location {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if self.time_ns != 0 {
my_size += ::protobuf::rt::value_size(3, self.time_ns, ::protobuf::wire_format::WireTypeVarint);
}
if !self.json.is_empty() {
my_size += ::protobuf::rt::string_size(4, &self.json);
}
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.message.is_empty() {
os.write_string(1, &self.message)?;
}
for v in &self.location {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if self.time_ns != 0 {
os.write_uint64(3, self.time_ns)?;
}
if !self.json.is_empty() {
os.write_string(4, &self.json)?;
}
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() -> Trace_Error {
Trace_Error::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::ProtobufTypeString>(
"message",
|m: &Trace_Error| { &m.message },
|m: &mut Trace_Error| { &mut m.message },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_Location>>(
"location",
|m: &Trace_Error| { &m.location },
|m: &mut Trace_Error| { &mut m.location },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"time_ns",
|m: &Trace_Error| { &m.time_ns },
|m: &mut Trace_Error| { &mut m.time_ns },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"json",
|m: &Trace_Error| { &m.json },
|m: &mut Trace_Error| { &mut m.json },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_Error>(
"Trace.Error",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_Error {
static instance: ::protobuf::rt::LazyV2<Trace_Error> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_Error::new)
}
}
impl ::protobuf::Clear for Trace_Error {
fn clear(&mut self) {
self.message.clear();
self.location.clear();
self.time_ns = 0;
self.json.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_Error {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_Error {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_HTTP {
pub method: Trace_HTTP_Method,
pub host: ::std::string::String,
pub path: ::std::string::String,
pub request_headers: ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values>,
pub response_headers: ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values>,
pub status_code: u32,
pub secure: bool,
pub protocol: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_HTTP {
fn default() -> &'a Trace_HTTP {
<Trace_HTTP as ::protobuf::Message>::default_instance()
}
}
impl Trace_HTTP {
pub fn new() -> Trace_HTTP {
::std::default::Default::default()
}
pub fn get_method(&self) -> Trace_HTTP_Method {
self.method
}
pub fn clear_method(&mut self) {
self.method = Trace_HTTP_Method::UNKNOWN;
}
pub fn set_method(&mut self, v: Trace_HTTP_Method) {
self.method = v;
}
pub fn get_host(&self) -> &str {
&self.host
}
pub fn clear_host(&mut self) {
self.host.clear();
}
pub fn set_host(&mut self, v: ::std::string::String) {
self.host = v;
}
pub fn mut_host(&mut self) -> &mut ::std::string::String {
&mut self.host
}
pub fn take_host(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.host, ::std::string::String::new())
}
pub fn get_path(&self) -> &str {
&self.path
}
pub fn clear_path(&mut self) {
self.path.clear();
}
pub fn set_path(&mut self, v: ::std::string::String) {
self.path = v;
}
pub fn mut_path(&mut self) -> &mut ::std::string::String {
&mut self.path
}
pub fn take_path(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.path, ::std::string::String::new())
}
pub fn get_request_headers(&self) -> &::std::collections::HashMap<::std::string::String, Trace_HTTP_Values> {
&self.request_headers
}
pub fn clear_request_headers(&mut self) {
self.request_headers.clear();
}
pub fn set_request_headers(&mut self, v: ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values>) {
self.request_headers = v;
}
pub fn mut_request_headers(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values> {
&mut self.request_headers
}
pub fn take_request_headers(&mut self) -> ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values> {
::std::mem::replace(&mut self.request_headers, ::std::collections::HashMap::new())
}
pub fn get_response_headers(&self) -> &::std::collections::HashMap<::std::string::String, Trace_HTTP_Values> {
&self.response_headers
}
pub fn clear_response_headers(&mut self) {
self.response_headers.clear();
}
pub fn set_response_headers(&mut self, v: ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values>) {
self.response_headers = v;
}
pub fn mut_response_headers(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values> {
&mut self.response_headers
}
pub fn take_response_headers(&mut self) -> ::std::collections::HashMap<::std::string::String, Trace_HTTP_Values> {
::std::mem::replace(&mut self.response_headers, ::std::collections::HashMap::new())
}
pub fn get_status_code(&self) -> u32 {
self.status_code
}
pub fn clear_status_code(&mut self) {
self.status_code = 0;
}
pub fn set_status_code(&mut self, v: u32) {
self.status_code = v;
}
pub fn get_secure(&self) -> bool {
self.secure
}
pub fn clear_secure(&mut self) {
self.secure = false;
}
pub fn set_secure(&mut self, v: bool) {
self.secure = v;
}
pub fn get_protocol(&self) -> &str {
&self.protocol
}
pub fn clear_protocol(&mut self) {
self.protocol.clear();
}
pub fn set_protocol(&mut self, v: ::std::string::String) {
self.protocol = v;
}
pub fn mut_protocol(&mut self) -> &mut ::std::string::String {
&mut self.protocol
}
pub fn take_protocol(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.protocol, ::std::string::String::new())
}
}
impl ::protobuf::Message for Trace_HTTP {
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_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.method, 1, &mut self.unknown_fields)?
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.host)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.path)?;
},
4 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(wire_type, is, &mut self.request_headers)?;
},
5 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(wire_type, is, &mut self.response_headers)?;
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.status_code = tmp;
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.secure = tmp;
},
9 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.protocol)?;
},
_ => {
::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.method != Trace_HTTP_Method::UNKNOWN {
my_size += ::protobuf::rt::enum_size(1, self.method);
}
if !self.host.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.host);
}
if !self.path.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.path);
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(4, &self.request_headers);
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(5, &self.response_headers);
if self.status_code != 0 {
my_size += ::protobuf::rt::value_size(6, self.status_code, ::protobuf::wire_format::WireTypeVarint);
}
if self.secure != false {
my_size += 2;
}
if !self.protocol.is_empty() {
my_size += ::protobuf::rt::string_size(9, &self.protocol);
}
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.method != Trace_HTTP_Method::UNKNOWN {
os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.method))?;
}
if !self.host.is_empty() {
os.write_string(2, &self.host)?;
}
if !self.path.is_empty() {
os.write_string(3, &self.path)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(4, &self.request_headers, os)?;
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(5, &self.response_headers, os)?;
if self.status_code != 0 {
os.write_uint32(6, self.status_code)?;
}
if self.secure != false {
os.write_bool(8, self.secure)?;
}
if !self.protocol.is_empty() {
os.write_string(9, &self.protocol)?;
}
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() -> Trace_HTTP {
Trace_HTTP::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::ProtobufTypeEnum<Trace_HTTP_Method>>(
"method",
|m: &Trace_HTTP| { &m.method },
|m: &mut Trace_HTTP| { &mut m.method },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"host",
|m: &Trace_HTTP| { &m.host },
|m: &mut Trace_HTTP| { &mut m.host },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"path",
|m: &Trace_HTTP| { &m.path },
|m: &mut Trace_HTTP| { &mut m.path },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(
"request_headers",
|m: &Trace_HTTP| { &m.request_headers },
|m: &mut Trace_HTTP| { &mut m.request_headers },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Trace_HTTP_Values>>(
"response_headers",
|m: &Trace_HTTP| { &m.response_headers },
|m: &mut Trace_HTTP| { &mut m.response_headers },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"status_code",
|m: &Trace_HTTP| { &m.status_code },
|m: &mut Trace_HTTP| { &mut m.status_code },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"secure",
|m: &Trace_HTTP| { &m.secure },
|m: &mut Trace_HTTP| { &mut m.secure },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"protocol",
|m: &Trace_HTTP| { &m.protocol },
|m: &mut Trace_HTTP| { &mut m.protocol },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_HTTP>(
"Trace.HTTP",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_HTTP {
static instance: ::protobuf::rt::LazyV2<Trace_HTTP> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_HTTP::new)
}
}
impl ::protobuf::Clear for Trace_HTTP {
fn clear(&mut self) {
self.method = Trace_HTTP_Method::UNKNOWN;
self.host.clear();
self.path.clear();
self.request_headers.clear();
self.response_headers.clear();
self.status_code = 0;
self.secure = false;
self.protocol.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_HTTP {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_HTTP {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_HTTP_Values {
pub value: ::protobuf::RepeatedField<::std::string::String>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_HTTP_Values {
fn default() -> &'a Trace_HTTP_Values {
<Trace_HTTP_Values as ::protobuf::Message>::default_instance()
}
}
impl Trace_HTTP_Values {
pub fn new() -> Trace_HTTP_Values {
::std::default::Default::default()
}
pub fn get_value(&self) -> &[::std::string::String] {
&self.value
}
pub fn clear_value(&mut self) {
self.value.clear();
}
pub fn set_value(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.value = v;
}
pub fn mut_value(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.value
}
pub fn take_value(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.value, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Trace_HTTP_Values {
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_string_into(wire_type, is, &mut self.value)?;
},
_ => {
::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;
for value in &self.value {
my_size += ::protobuf::rt::string_size(1, &value);
};
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.value {
os.write_string(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() -> Trace_HTTP_Values {
Trace_HTTP_Values::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_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"value",
|m: &Trace_HTTP_Values| { &m.value },
|m: &mut Trace_HTTP_Values| { &mut m.value },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_HTTP_Values>(
"Trace.HTTP.Values",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_HTTP_Values {
static instance: ::protobuf::rt::LazyV2<Trace_HTTP_Values> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_HTTP_Values::new)
}
}
impl ::protobuf::Clear for Trace_HTTP_Values {
fn clear(&mut self) {
self.value.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_HTTP_Values {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_HTTP_Values {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum Trace_HTTP_Method {
UNKNOWN = 0,
OPTIONS = 1,
GET = 2,
HEAD = 3,
POST = 4,
PUT = 5,
DELETE = 6,
TRACE = 7,
CONNECT = 8,
PATCH = 9,
}
impl ::protobuf::ProtobufEnum for Trace_HTTP_Method {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<Trace_HTTP_Method> {
match value {
0 => ::std::option::Option::Some(Trace_HTTP_Method::UNKNOWN),
1 => ::std::option::Option::Some(Trace_HTTP_Method::OPTIONS),
2 => ::std::option::Option::Some(Trace_HTTP_Method::GET),
3 => ::std::option::Option::Some(Trace_HTTP_Method::HEAD),
4 => ::std::option::Option::Some(Trace_HTTP_Method::POST),
5 => ::std::option::Option::Some(Trace_HTTP_Method::PUT),
6 => ::std::option::Option::Some(Trace_HTTP_Method::DELETE),
7 => ::std::option::Option::Some(Trace_HTTP_Method::TRACE),
8 => ::std::option::Option::Some(Trace_HTTP_Method::CONNECT),
9 => ::std::option::Option::Some(Trace_HTTP_Method::PATCH),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [Trace_HTTP_Method] = &[
Trace_HTTP_Method::UNKNOWN,
Trace_HTTP_Method::OPTIONS,
Trace_HTTP_Method::GET,
Trace_HTTP_Method::HEAD,
Trace_HTTP_Method::POST,
Trace_HTTP_Method::PUT,
Trace_HTTP_Method::DELETE,
Trace_HTTP_Method::TRACE,
Trace_HTTP_Method::CONNECT,
Trace_HTTP_Method::PATCH,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<Trace_HTTP_Method>("Trace.HTTP.Method", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for Trace_HTTP_Method {
}
impl ::std::default::Default for Trace_HTTP_Method {
fn default() -> Self {
Trace_HTTP_Method::UNKNOWN
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_HTTP_Method {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_Location {
pub line: u32,
pub column: u32,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_Location {
fn default() -> &'a Trace_Location {
<Trace_Location as ::protobuf::Message>::default_instance()
}
}
impl Trace_Location {
pub fn new() -> Trace_Location {
::std::default::Default::default()
}
pub fn get_line(&self) -> u32 {
self.line
}
pub fn clear_line(&mut self) {
self.line = 0;
}
pub fn set_line(&mut self, v: u32) {
self.line = v;
}
pub fn get_column(&self) -> u32 {
self.column
}
pub fn clear_column(&mut self) {
self.column = 0;
}
pub fn set_column(&mut self, v: u32) {
self.column = v;
}
}
impl ::protobuf::Message for Trace_Location {
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_uint32()?;
self.line = tmp;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.column = 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.line != 0 {
my_size += ::protobuf::rt::value_size(1, self.line, ::protobuf::wire_format::WireTypeVarint);
}
if self.column != 0 {
my_size += ::protobuf::rt::value_size(2, self.column, ::protobuf::wire_format::WireTypeVarint);
}
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.line != 0 {
os.write_uint32(1, self.line)?;
}
if self.column != 0 {
os.write_uint32(2, self.column)?;
}
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() -> Trace_Location {
Trace_Location::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::ProtobufTypeUint32>(
"line",
|m: &Trace_Location| { &m.line },
|m: &mut Trace_Location| { &mut m.line },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"column",
|m: &Trace_Location| { &m.column },
|m: &mut Trace_Location| { &mut m.column },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_Location>(
"Trace.Location",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_Location {
static instance: ::protobuf::rt::LazyV2<Trace_Location> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_Location::new)
}
}
impl ::protobuf::Clear for Trace_Location {
fn clear(&mut self) {
self.line = 0;
self.column = 0;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_Location {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_Location {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_Node {
pub original_field_name: ::std::string::String,
pub field_type: ::std::string::String,
pub parent_type: ::std::string::String,
pub cache_policy: ::protobuf::SingularPtrField<Trace_CachePolicy>,
pub start_time: u64,
pub end_time: u64,
pub error: ::protobuf::RepeatedField<Trace_Error>,
pub child: ::protobuf::RepeatedField<Trace_Node>,
pub id: ::std::option::Option<Trace_Node_oneof_id>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_Node {
fn default() -> &'a Trace_Node {
<Trace_Node as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum Trace_Node_oneof_id {
response_name(::std::string::String),
index(u32),
}
impl Trace_Node {
pub fn new() -> Trace_Node {
::std::default::Default::default()
}
pub fn get_response_name(&self) -> &str {
match self.id {
::std::option::Option::Some(Trace_Node_oneof_id::response_name(ref v)) => v,
_ => "",
}
}
pub fn clear_response_name(&mut self) {
self.id = ::std::option::Option::None;
}
pub fn has_response_name(&self) -> bool {
match self.id {
::std::option::Option::Some(Trace_Node_oneof_id::response_name(..)) => true,
_ => false,
}
}
pub fn set_response_name(&mut self, v: ::std::string::String) {
self.id = ::std::option::Option::Some(Trace_Node_oneof_id::response_name(v))
}
pub fn mut_response_name(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(Trace_Node_oneof_id::response_name(_)) = self.id {
} else {
self.id = ::std::option::Option::Some(Trace_Node_oneof_id::response_name(::std::string::String::new()));
}
match self.id {
::std::option::Option::Some(Trace_Node_oneof_id::response_name(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_response_name(&mut self) -> ::std::string::String {
if self.has_response_name() {
match self.id.take() {
::std::option::Option::Some(Trace_Node_oneof_id::response_name(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
pub fn get_index(&self) -> u32 {
match self.id {
::std::option::Option::Some(Trace_Node_oneof_id::index(v)) => v,
_ => 0,
}
}
pub fn clear_index(&mut self) {
self.id = ::std::option::Option::None;
}
pub fn has_index(&self) -> bool {
match self.id {
::std::option::Option::Some(Trace_Node_oneof_id::index(..)) => true,
_ => false,
}
}
pub fn set_index(&mut self, v: u32) {
self.id = ::std::option::Option::Some(Trace_Node_oneof_id::index(v))
}
pub fn get_original_field_name(&self) -> &str {
&self.original_field_name
}
pub fn clear_original_field_name(&mut self) {
self.original_field_name.clear();
}
pub fn set_original_field_name(&mut self, v: ::std::string::String) {
self.original_field_name = v;
}
pub fn mut_original_field_name(&mut self) -> &mut ::std::string::String {
&mut self.original_field_name
}
pub fn take_original_field_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.original_field_name, ::std::string::String::new())
}
pub fn get_field_type(&self) -> &str {
&self.field_type
}
pub fn clear_field_type(&mut self) {
self.field_type.clear();
}
pub fn set_field_type(&mut self, v: ::std::string::String) {
self.field_type = v;
}
pub fn mut_field_type(&mut self) -> &mut ::std::string::String {
&mut self.field_type
}
pub fn take_field_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.field_type, ::std::string::String::new())
}
pub fn get_parent_type(&self) -> &str {
&self.parent_type
}
pub fn clear_parent_type(&mut self) {
self.parent_type.clear();
}
pub fn set_parent_type(&mut self, v: ::std::string::String) {
self.parent_type = v;
}
pub fn mut_parent_type(&mut self) -> &mut ::std::string::String {
&mut self.parent_type
}
pub fn take_parent_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.parent_type, ::std::string::String::new())
}
pub fn get_cache_policy(&self) -> &Trace_CachePolicy {
self.cache_policy.as_ref().unwrap_or_else(|| <Trace_CachePolicy as ::protobuf::Message>::default_instance())
}
pub fn clear_cache_policy(&mut self) {
self.cache_policy.clear();
}
pub fn has_cache_policy(&self) -> bool {
self.cache_policy.is_some()
}
pub fn set_cache_policy(&mut self, v: Trace_CachePolicy) {
self.cache_policy = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_cache_policy(&mut self) -> &mut Trace_CachePolicy {
if self.cache_policy.is_none() {
self.cache_policy.set_default();
}
self.cache_policy.as_mut().unwrap()
}
pub fn take_cache_policy(&mut self) -> Trace_CachePolicy {
self.cache_policy.take().unwrap_or_else(|| Trace_CachePolicy::new())
}
pub fn get_start_time(&self) -> u64 {
self.start_time
}
pub fn clear_start_time(&mut self) {
self.start_time = 0;
}
pub fn set_start_time(&mut self, v: u64) {
self.start_time = v;
}
pub fn get_end_time(&self) -> u64 {
self.end_time
}
pub fn clear_end_time(&mut self) {
self.end_time = 0;
}
pub fn set_end_time(&mut self, v: u64) {
self.end_time = v;
}
pub fn get_error(&self) -> &[Trace_Error] {
&self.error
}
pub fn clear_error(&mut self) {
self.error.clear();
}
pub fn set_error(&mut self, v: ::protobuf::RepeatedField<Trace_Error>) {
self.error = v;
}
pub fn mut_error(&mut self) -> &mut ::protobuf::RepeatedField<Trace_Error> {
&mut self.error
}
pub fn take_error(&mut self) -> ::protobuf::RepeatedField<Trace_Error> {
::std::mem::replace(&mut self.error, ::protobuf::RepeatedField::new())
}
pub fn get_child(&self) -> &[Trace_Node] {
&self.child
}
pub fn clear_child(&mut self) {
self.child.clear();
}
pub fn set_child(&mut self, v: ::protobuf::RepeatedField<Trace_Node>) {
self.child = v;
}
pub fn mut_child(&mut self) -> &mut ::protobuf::RepeatedField<Trace_Node> {
&mut self.child
}
pub fn take_child(&mut self) -> ::protobuf::RepeatedField<Trace_Node> {
::std::mem::replace(&mut self.child, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Trace_Node {
fn is_initialized(&self) -> bool {
for v in &self.cache_policy {
if !v.is_initialized() {
return false;
}
};
for v in &self.error {
if !v.is_initialized() {
return false;
}
};
for v in &self.child {
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::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.id = ::std::option::Option::Some(Trace_Node_oneof_id::response_name(is.read_string()?));
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.id = ::std::option::Option::Some(Trace_Node_oneof_id::index(is.read_uint32()?));
},
14 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.original_field_name)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.field_type)?;
},
13 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent_type)?;
},
5 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cache_policy)?;
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.start_time = tmp;
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.end_time = tmp;
},
11 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.error)?;
},
12 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.child)?;
},
_ => {
::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.original_field_name.is_empty() {
my_size += ::protobuf::rt::string_size(14, &self.original_field_name);
}
if !self.field_type.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.field_type);
}
if !self.parent_type.is_empty() {
my_size += ::protobuf::rt::string_size(13, &self.parent_type);
}
if let Some(ref v) = self.cache_policy.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.start_time != 0 {
my_size += ::protobuf::rt::value_size(8, self.start_time, ::protobuf::wire_format::WireTypeVarint);
}
if self.end_time != 0 {
my_size += ::protobuf::rt::value_size(9, self.end_time, ::protobuf::wire_format::WireTypeVarint);
}
for value in &self.error {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.child {
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.id {
match v {
&Trace_Node_oneof_id::response_name(ref v) => {
my_size += ::protobuf::rt::string_size(1, &v);
},
&Trace_Node_oneof_id::index(v) => {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
},
};
}
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.original_field_name.is_empty() {
os.write_string(14, &self.original_field_name)?;
}
if !self.field_type.is_empty() {
os.write_string(3, &self.field_type)?;
}
if !self.parent_type.is_empty() {
os.write_string(13, &self.parent_type)?;
}
if let Some(ref v) = self.cache_policy.as_ref() {
os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if self.start_time != 0 {
os.write_uint64(8, self.start_time)?;
}
if self.end_time != 0 {
os.write_uint64(9, self.end_time)?;
}
for v in &self.error {
os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.child {
os.write_tag(12, ::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.id {
match v {
&Trace_Node_oneof_id::response_name(ref v) => {
os.write_string(1, v)?;
},
&Trace_Node_oneof_id::index(v) => {
os.write_uint32(2, 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() -> Trace_Node {
Trace_Node::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_singular_string_accessor::<_>(
"response_name",
Trace_Node::has_response_name,
Trace_Node::get_response_name,
));
fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor::<_>(
"index",
Trace_Node::has_index,
Trace_Node::get_index,
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"original_field_name",
|m: &Trace_Node| { &m.original_field_name },
|m: &mut Trace_Node| { &mut m.original_field_name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"type",
|m: &Trace_Node| { &m.field_type },
|m: &mut Trace_Node| { &mut m.field_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"parent_type",
|m: &Trace_Node| { &m.parent_type },
|m: &mut Trace_Node| { &mut m.parent_type },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_CachePolicy>>(
"cache_policy",
|m: &Trace_Node| { &m.cache_policy },
|m: &mut Trace_Node| { &mut m.cache_policy },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"start_time",
|m: &Trace_Node| { &m.start_time },
|m: &mut Trace_Node| { &mut m.start_time },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"end_time",
|m: &Trace_Node| { &m.end_time },
|m: &mut Trace_Node| { &mut m.end_time },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_Error>>(
"error",
|m: &Trace_Node| { &m.error },
|m: &mut Trace_Node| { &mut m.error },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_Node>>(
"child",
|m: &Trace_Node| { &m.child },
|m: &mut Trace_Node| { &mut m.child },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_Node>(
"Trace.Node",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_Node {
static instance: ::protobuf::rt::LazyV2<Trace_Node> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_Node::new)
}
}
impl ::protobuf::Clear for Trace_Node {
fn clear(&mut self) {
self.id = ::std::option::Option::None;
self.id = ::std::option::Option::None;
self.original_field_name.clear();
self.field_type.clear();
self.parent_type.clear();
self.cache_policy.clear();
self.start_time = 0;
self.end_time = 0;
self.error.clear();
self.child.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_Node {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_Node {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_QueryPlanNode {
pub node: ::std::option::Option<Trace_QueryPlanNode_oneof_node>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_QueryPlanNode {
fn default() -> &'a Trace_QueryPlanNode {
<Trace_QueryPlanNode as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum Trace_QueryPlanNode_oneof_node {
sequence(Trace_QueryPlanNode_SequenceNode),
parallel(Trace_QueryPlanNode_ParallelNode),
fetch(Trace_QueryPlanNode_FetchNode),
flatten(Trace_QueryPlanNode_FlattenNode),
}
impl Trace_QueryPlanNode {
pub fn new() -> Trace_QueryPlanNode {
::std::default::Default::default()
}
pub fn get_sequence(&self) -> &Trace_QueryPlanNode_SequenceNode {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(ref v)) => v,
_ => <Trace_QueryPlanNode_SequenceNode as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_sequence(&mut self) {
self.node = ::std::option::Option::None;
}
pub fn has_sequence(&self) -> bool {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(..)) => true,
_ => false,
}
}
pub fn set_sequence(&mut self, v: Trace_QueryPlanNode_SequenceNode) {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(v))
}
pub fn mut_sequence(&mut self) -> &mut Trace_QueryPlanNode_SequenceNode {
if let ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(_)) = self.node {
} else {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(Trace_QueryPlanNode_SequenceNode::new()));
}
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_sequence(&mut self) -> Trace_QueryPlanNode_SequenceNode {
if self.has_sequence() {
match self.node.take() {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(v)) => v,
_ => panic!(),
}
} else {
Trace_QueryPlanNode_SequenceNode::new()
}
}
pub fn get_parallel(&self) -> &Trace_QueryPlanNode_ParallelNode {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(ref v)) => v,
_ => <Trace_QueryPlanNode_ParallelNode as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_parallel(&mut self) {
self.node = ::std::option::Option::None;
}
pub fn has_parallel(&self) -> bool {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(..)) => true,
_ => false,
}
}
pub fn set_parallel(&mut self, v: Trace_QueryPlanNode_ParallelNode) {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(v))
}
pub fn mut_parallel(&mut self) -> &mut Trace_QueryPlanNode_ParallelNode {
if let ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(_)) = self.node {
} else {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(Trace_QueryPlanNode_ParallelNode::new()));
}
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_parallel(&mut self) -> Trace_QueryPlanNode_ParallelNode {
if self.has_parallel() {
match self.node.take() {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(v)) => v,
_ => panic!(),
}
} else {
Trace_QueryPlanNode_ParallelNode::new()
}
}
pub fn get_fetch(&self) -> &Trace_QueryPlanNode_FetchNode {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(ref v)) => v,
_ => <Trace_QueryPlanNode_FetchNode as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_fetch(&mut self) {
self.node = ::std::option::Option::None;
}
pub fn has_fetch(&self) -> bool {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(..)) => true,
_ => false,
}
}
pub fn set_fetch(&mut self, v: Trace_QueryPlanNode_FetchNode) {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(v))
}
pub fn mut_fetch(&mut self) -> &mut Trace_QueryPlanNode_FetchNode {
if let ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(_)) = self.node {
} else {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(Trace_QueryPlanNode_FetchNode::new()));
}
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_fetch(&mut self) -> Trace_QueryPlanNode_FetchNode {
if self.has_fetch() {
match self.node.take() {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(v)) => v,
_ => panic!(),
}
} else {
Trace_QueryPlanNode_FetchNode::new()
}
}
pub fn get_flatten(&self) -> &Trace_QueryPlanNode_FlattenNode {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(ref v)) => v,
_ => <Trace_QueryPlanNode_FlattenNode as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_flatten(&mut self) {
self.node = ::std::option::Option::None;
}
pub fn has_flatten(&self) -> bool {
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(..)) => true,
_ => false,
}
}
pub fn set_flatten(&mut self, v: Trace_QueryPlanNode_FlattenNode) {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(v))
}
pub fn mut_flatten(&mut self) -> &mut Trace_QueryPlanNode_FlattenNode {
if let ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(_)) = self.node {
} else {
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(Trace_QueryPlanNode_FlattenNode::new()));
}
match self.node {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_flatten(&mut self) -> Trace_QueryPlanNode_FlattenNode {
if self.has_flatten() {
match self.node.take() {
::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(v)) => v,
_ => panic!(),
}
} else {
Trace_QueryPlanNode_FlattenNode::new()
}
}
}
impl ::protobuf::Message for Trace_QueryPlanNode {
fn is_initialized(&self) -> bool {
if let Some(Trace_QueryPlanNode_oneof_node::sequence(ref v)) = self.node {
if !v.is_initialized() {
return false;
}
}
if let Some(Trace_QueryPlanNode_oneof_node::parallel(ref v)) = self.node {
if !v.is_initialized() {
return false;
}
}
if let Some(Trace_QueryPlanNode_oneof_node::fetch(ref v)) = self.node {
if !v.is_initialized() {
return false;
}
}
if let Some(Trace_QueryPlanNode_oneof_node::flatten(ref v)) = self.node {
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::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::sequence(is.read_message()?));
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::parallel(is.read_message()?));
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::fetch(is.read_message()?));
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.node = ::std::option::Option::Some(Trace_QueryPlanNode_oneof_node::flatten(is.read_message()?));
},
_ => {
::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 let ::std::option::Option::Some(ref v) = self.node {
match v {
&Trace_QueryPlanNode_oneof_node::sequence(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Trace_QueryPlanNode_oneof_node::parallel(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Trace_QueryPlanNode_oneof_node::fetch(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Trace_QueryPlanNode_oneof_node::flatten(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 let ::std::option::Option::Some(ref v) = self.node {
match v {
&Trace_QueryPlanNode_oneof_node::sequence(ref v) => {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Trace_QueryPlanNode_oneof_node::parallel(ref v) => {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Trace_QueryPlanNode_oneof_node::fetch(ref v) => {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Trace_QueryPlanNode_oneof_node::flatten(ref v) => {
os.write_tag(4, ::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() -> Trace_QueryPlanNode {
Trace_QueryPlanNode::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_singular_message_accessor::<_, Trace_QueryPlanNode_SequenceNode>(
"sequence",
Trace_QueryPlanNode::has_sequence,
Trace_QueryPlanNode::get_sequence,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Trace_QueryPlanNode_ParallelNode>(
"parallel",
Trace_QueryPlanNode::has_parallel,
Trace_QueryPlanNode::get_parallel,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Trace_QueryPlanNode_FetchNode>(
"fetch",
Trace_QueryPlanNode::has_fetch,
Trace_QueryPlanNode::get_fetch,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Trace_QueryPlanNode_FlattenNode>(
"flatten",
Trace_QueryPlanNode::has_flatten,
Trace_QueryPlanNode::get_flatten,
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_QueryPlanNode>(
"Trace.QueryPlanNode",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_QueryPlanNode {
static instance: ::protobuf::rt::LazyV2<Trace_QueryPlanNode> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_QueryPlanNode::new)
}
}
impl ::protobuf::Clear for Trace_QueryPlanNode {
fn clear(&mut self) {
self.node = ::std::option::Option::None;
self.node = ::std::option::Option::None;
self.node = ::std::option::Option::None;
self.node = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_QueryPlanNode {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_QueryPlanNode {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_QueryPlanNode_SequenceNode {
pub nodes: ::protobuf::RepeatedField<Trace_QueryPlanNode>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_QueryPlanNode_SequenceNode {
fn default() -> &'a Trace_QueryPlanNode_SequenceNode {
<Trace_QueryPlanNode_SequenceNode as ::protobuf::Message>::default_instance()
}
}
impl Trace_QueryPlanNode_SequenceNode {
pub fn new() -> Trace_QueryPlanNode_SequenceNode {
::std::default::Default::default()
}
pub fn get_nodes(&self) -> &[Trace_QueryPlanNode] {
&self.nodes
}
pub fn clear_nodes(&mut self) {
self.nodes.clear();
}
pub fn set_nodes(&mut self, v: ::protobuf::RepeatedField<Trace_QueryPlanNode>) {
self.nodes = v;
}
pub fn mut_nodes(&mut self) -> &mut ::protobuf::RepeatedField<Trace_QueryPlanNode> {
&mut self.nodes
}
pub fn take_nodes(&mut self) -> ::protobuf::RepeatedField<Trace_QueryPlanNode> {
::std::mem::replace(&mut self.nodes, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Trace_QueryPlanNode_SequenceNode {
fn is_initialized(&self) -> bool {
for v in &self.nodes {
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 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.nodes)?;
},
_ => {
::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;
for value in &self.nodes {
let len = value.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<()> {
for v in &self.nodes {
os.write_tag(1, ::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() -> Trace_QueryPlanNode_SequenceNode {
Trace_QueryPlanNode_SequenceNode::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_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_QueryPlanNode>>(
"nodes",
|m: &Trace_QueryPlanNode_SequenceNode| { &m.nodes },
|m: &mut Trace_QueryPlanNode_SequenceNode| { &mut m.nodes },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_QueryPlanNode_SequenceNode>(
"Trace.QueryPlanNode.SequenceNode",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_QueryPlanNode_SequenceNode {
static instance: ::protobuf::rt::LazyV2<Trace_QueryPlanNode_SequenceNode> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_QueryPlanNode_SequenceNode::new)
}
}
impl ::protobuf::Clear for Trace_QueryPlanNode_SequenceNode {
fn clear(&mut self) {
self.nodes.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_QueryPlanNode_SequenceNode {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_QueryPlanNode_SequenceNode {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_QueryPlanNode_ParallelNode {
pub nodes: ::protobuf::RepeatedField<Trace_QueryPlanNode>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_QueryPlanNode_ParallelNode {
fn default() -> &'a Trace_QueryPlanNode_ParallelNode {
<Trace_QueryPlanNode_ParallelNode as ::protobuf::Message>::default_instance()
}
}
impl Trace_QueryPlanNode_ParallelNode {
pub fn new() -> Trace_QueryPlanNode_ParallelNode {
::std::default::Default::default()
}
pub fn get_nodes(&self) -> &[Trace_QueryPlanNode] {
&self.nodes
}
pub fn clear_nodes(&mut self) {
self.nodes.clear();
}
pub fn set_nodes(&mut self, v: ::protobuf::RepeatedField<Trace_QueryPlanNode>) {
self.nodes = v;
}
pub fn mut_nodes(&mut self) -> &mut ::protobuf::RepeatedField<Trace_QueryPlanNode> {
&mut self.nodes
}
pub fn take_nodes(&mut self) -> ::protobuf::RepeatedField<Trace_QueryPlanNode> {
::std::mem::replace(&mut self.nodes, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Trace_QueryPlanNode_ParallelNode {
fn is_initialized(&self) -> bool {
for v in &self.nodes {
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 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.nodes)?;
},
_ => {
::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;
for value in &self.nodes {
let len = value.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<()> {
for v in &self.nodes {
os.write_tag(1, ::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() -> Trace_QueryPlanNode_ParallelNode {
Trace_QueryPlanNode_ParallelNode::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_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_QueryPlanNode>>(
"nodes",
|m: &Trace_QueryPlanNode_ParallelNode| { &m.nodes },
|m: &mut Trace_QueryPlanNode_ParallelNode| { &mut m.nodes },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_QueryPlanNode_ParallelNode>(
"Trace.QueryPlanNode.ParallelNode",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_QueryPlanNode_ParallelNode {
static instance: ::protobuf::rt::LazyV2<Trace_QueryPlanNode_ParallelNode> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_QueryPlanNode_ParallelNode::new)
}
}
impl ::protobuf::Clear for Trace_QueryPlanNode_ParallelNode {
fn clear(&mut self) {
self.nodes.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_QueryPlanNode_ParallelNode {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_QueryPlanNode_ParallelNode {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_QueryPlanNode_FetchNode {
pub service_name: ::std::string::String,
pub trace_parsing_failed: bool,
pub trace: ::protobuf::SingularPtrField<Trace>,
pub sent_time_offset: u64,
pub sent_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub received_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_QueryPlanNode_FetchNode {
fn default() -> &'a Trace_QueryPlanNode_FetchNode {
<Trace_QueryPlanNode_FetchNode as ::protobuf::Message>::default_instance()
}
}
impl Trace_QueryPlanNode_FetchNode {
pub fn new() -> Trace_QueryPlanNode_FetchNode {
::std::default::Default::default()
}
pub fn get_service_name(&self) -> &str {
&self.service_name
}
pub fn clear_service_name(&mut self) {
self.service_name.clear();
}
pub fn set_service_name(&mut self, v: ::std::string::String) {
self.service_name = v;
}
pub fn mut_service_name(&mut self) -> &mut ::std::string::String {
&mut self.service_name
}
pub fn take_service_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.service_name, ::std::string::String::new())
}
pub fn get_trace_parsing_failed(&self) -> bool {
self.trace_parsing_failed
}
pub fn clear_trace_parsing_failed(&mut self) {
self.trace_parsing_failed = false;
}
pub fn set_trace_parsing_failed(&mut self, v: bool) {
self.trace_parsing_failed = v;
}
pub fn get_trace(&self) -> &Trace {
self.trace.as_ref().unwrap_or_else(|| <Trace as ::protobuf::Message>::default_instance())
}
pub fn clear_trace(&mut self) {
self.trace.clear();
}
pub fn has_trace(&self) -> bool {
self.trace.is_some()
}
pub fn set_trace(&mut self, v: Trace) {
self.trace = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_trace(&mut self) -> &mut Trace {
if self.trace.is_none() {
self.trace.set_default();
}
self.trace.as_mut().unwrap()
}
pub fn take_trace(&mut self) -> Trace {
self.trace.take().unwrap_or_else(|| Trace::new())
}
pub fn get_sent_time_offset(&self) -> u64 {
self.sent_time_offset
}
pub fn clear_sent_time_offset(&mut self) {
self.sent_time_offset = 0;
}
pub fn set_sent_time_offset(&mut self, v: u64) {
self.sent_time_offset = v;
}
pub fn get_sent_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.sent_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_sent_time(&mut self) {
self.sent_time.clear();
}
pub fn has_sent_time(&self) -> bool {
self.sent_time.is_some()
}
pub fn set_sent_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.sent_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_sent_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.sent_time.is_none() {
self.sent_time.set_default();
}
self.sent_time.as_mut().unwrap()
}
pub fn take_sent_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.sent_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
pub fn get_received_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.received_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_received_time(&mut self) {
self.received_time.clear();
}
pub fn has_received_time(&self) -> bool {
self.received_time.is_some()
}
pub fn set_received_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.received_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_received_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.received_time.is_none() {
self.received_time.set_default();
}
self.received_time.as_mut().unwrap()
}
pub fn take_received_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.received_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
}
impl ::protobuf::Message for Trace_QueryPlanNode_FetchNode {
fn is_initialized(&self) -> bool {
for v in &self.trace {
if !v.is_initialized() {
return false;
}
};
for v in &self.sent_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.received_time {
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 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.service_name)?;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.trace_parsing_failed = tmp;
},
3 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.trace)?;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.sent_time_offset = tmp;
},
5 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.sent_time)?;
},
6 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.received_time)?;
},
_ => {
::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.service_name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.service_name);
}
if self.trace_parsing_failed != false {
my_size += 2;
}
if let Some(ref v) = self.trace.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.sent_time_offset != 0 {
my_size += ::protobuf::rt::value_size(4, self.sent_time_offset, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.sent_time.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.received_time.as_ref() {
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.service_name.is_empty() {
os.write_string(1, &self.service_name)?;
}
if self.trace_parsing_failed != false {
os.write_bool(2, self.trace_parsing_failed)?;
}
if let Some(ref v) = self.trace.as_ref() {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if self.sent_time_offset != 0 {
os.write_uint64(4, self.sent_time_offset)?;
}
if let Some(ref v) = self.sent_time.as_ref() {
os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.received_time.as_ref() {
os.write_tag(6, ::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() -> Trace_QueryPlanNode_FetchNode {
Trace_QueryPlanNode_FetchNode::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::ProtobufTypeString>(
"service_name",
|m: &Trace_QueryPlanNode_FetchNode| { &m.service_name },
|m: &mut Trace_QueryPlanNode_FetchNode| { &mut m.service_name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"trace_parsing_failed",
|m: &Trace_QueryPlanNode_FetchNode| { &m.trace_parsing_failed },
|m: &mut Trace_QueryPlanNode_FetchNode| { &mut m.trace_parsing_failed },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace>>(
"trace",
|m: &Trace_QueryPlanNode_FetchNode| { &m.trace },
|m: &mut Trace_QueryPlanNode_FetchNode| { &mut m.trace },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"sent_time_offset",
|m: &Trace_QueryPlanNode_FetchNode| { &m.sent_time_offset },
|m: &mut Trace_QueryPlanNode_FetchNode| { &mut m.sent_time_offset },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"sent_time",
|m: &Trace_QueryPlanNode_FetchNode| { &m.sent_time },
|m: &mut Trace_QueryPlanNode_FetchNode| { &mut m.sent_time },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"received_time",
|m: &Trace_QueryPlanNode_FetchNode| { &m.received_time },
|m: &mut Trace_QueryPlanNode_FetchNode| { &mut m.received_time },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_QueryPlanNode_FetchNode>(
"Trace.QueryPlanNode.FetchNode",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_QueryPlanNode_FetchNode {
static instance: ::protobuf::rt::LazyV2<Trace_QueryPlanNode_FetchNode> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_QueryPlanNode_FetchNode::new)
}
}
impl ::protobuf::Clear for Trace_QueryPlanNode_FetchNode {
fn clear(&mut self) {
self.service_name.clear();
self.trace_parsing_failed = false;
self.trace.clear();
self.sent_time_offset = 0;
self.sent_time.clear();
self.received_time.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_QueryPlanNode_FetchNode {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_QueryPlanNode_FetchNode {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_QueryPlanNode_FlattenNode {
pub response_path: ::protobuf::RepeatedField<Trace_QueryPlanNode_ResponsePathElement>,
pub node: ::protobuf::SingularPtrField<Trace_QueryPlanNode>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_QueryPlanNode_FlattenNode {
fn default() -> &'a Trace_QueryPlanNode_FlattenNode {
<Trace_QueryPlanNode_FlattenNode as ::protobuf::Message>::default_instance()
}
}
impl Trace_QueryPlanNode_FlattenNode {
pub fn new() -> Trace_QueryPlanNode_FlattenNode {
::std::default::Default::default()
}
pub fn get_response_path(&self) -> &[Trace_QueryPlanNode_ResponsePathElement] {
&self.response_path
}
pub fn clear_response_path(&mut self) {
self.response_path.clear();
}
pub fn set_response_path(&mut self, v: ::protobuf::RepeatedField<Trace_QueryPlanNode_ResponsePathElement>) {
self.response_path = v;
}
pub fn mut_response_path(&mut self) -> &mut ::protobuf::RepeatedField<Trace_QueryPlanNode_ResponsePathElement> {
&mut self.response_path
}
pub fn take_response_path(&mut self) -> ::protobuf::RepeatedField<Trace_QueryPlanNode_ResponsePathElement> {
::std::mem::replace(&mut self.response_path, ::protobuf::RepeatedField::new())
}
pub fn get_node(&self) -> &Trace_QueryPlanNode {
self.node.as_ref().unwrap_or_else(|| <Trace_QueryPlanNode as ::protobuf::Message>::default_instance())
}
pub fn clear_node(&mut self) {
self.node.clear();
}
pub fn has_node(&self) -> bool {
self.node.is_some()
}
pub fn set_node(&mut self, v: Trace_QueryPlanNode) {
self.node = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_node(&mut self) -> &mut Trace_QueryPlanNode {
if self.node.is_none() {
self.node.set_default();
}
self.node.as_mut().unwrap()
}
pub fn take_node(&mut self) -> Trace_QueryPlanNode {
self.node.take().unwrap_or_else(|| Trace_QueryPlanNode::new())
}
}
impl ::protobuf::Message for Trace_QueryPlanNode_FlattenNode {
fn is_initialized(&self) -> bool {
for v in &self.response_path {
if !v.is_initialized() {
return false;
}
};
for v in &self.node {
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 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.response_path)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.node)?;
},
_ => {
::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;
for value in &self.response_path {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let Some(ref v) = self.node.as_ref() {
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<()> {
for v in &self.response_path {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if let Some(ref v) = self.node.as_ref() {
os.write_tag(2, ::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() -> Trace_QueryPlanNode_FlattenNode {
Trace_QueryPlanNode_FlattenNode::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_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_QueryPlanNode_ResponsePathElement>>(
"response_path",
|m: &Trace_QueryPlanNode_FlattenNode| { &m.response_path },
|m: &mut Trace_QueryPlanNode_FlattenNode| { &mut m.response_path },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace_QueryPlanNode>>(
"node",
|m: &Trace_QueryPlanNode_FlattenNode| { &m.node },
|m: &mut Trace_QueryPlanNode_FlattenNode| { &mut m.node },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_QueryPlanNode_FlattenNode>(
"Trace.QueryPlanNode.FlattenNode",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_QueryPlanNode_FlattenNode {
static instance: ::protobuf::rt::LazyV2<Trace_QueryPlanNode_FlattenNode> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_QueryPlanNode_FlattenNode::new)
}
}
impl ::protobuf::Clear for Trace_QueryPlanNode_FlattenNode {
fn clear(&mut self) {
self.response_path.clear();
self.node.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_QueryPlanNode_FlattenNode {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_QueryPlanNode_FlattenNode {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Trace_QueryPlanNode_ResponsePathElement {
pub id: ::std::option::Option<Trace_QueryPlanNode_ResponsePathElement_oneof_id>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Trace_QueryPlanNode_ResponsePathElement {
fn default() -> &'a Trace_QueryPlanNode_ResponsePathElement {
<Trace_QueryPlanNode_ResponsePathElement as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum Trace_QueryPlanNode_ResponsePathElement_oneof_id {
field_name(::std::string::String),
index(u32),
}
impl Trace_QueryPlanNode_ResponsePathElement {
pub fn new() -> Trace_QueryPlanNode_ResponsePathElement {
::std::default::Default::default()
}
pub fn get_field_name(&self) -> &str {
match self.id {
::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(ref v)) => v,
_ => "",
}
}
pub fn clear_field_name(&mut self) {
self.id = ::std::option::Option::None;
}
pub fn has_field_name(&self) -> bool {
match self.id {
::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(..)) => true,
_ => false,
}
}
pub fn set_field_name(&mut self, v: ::std::string::String) {
self.id = ::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(v))
}
pub fn mut_field_name(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(_)) = self.id {
} else {
self.id = ::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(::std::string::String::new()));
}
match self.id {
::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_field_name(&mut self) -> ::std::string::String {
if self.has_field_name() {
match self.id.take() {
::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
pub fn get_index(&self) -> u32 {
match self.id {
::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::index(v)) => v,
_ => 0,
}
}
pub fn clear_index(&mut self) {
self.id = ::std::option::Option::None;
}
pub fn has_index(&self) -> bool {
match self.id {
::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::index(..)) => true,
_ => false,
}
}
pub fn set_index(&mut self, v: u32) {
self.id = ::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::index(v))
}
}
impl ::protobuf::Message for Trace_QueryPlanNode_ResponsePathElement {
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::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.id = ::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(is.read_string()?));
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.id = ::std::option::Option::Some(Trace_QueryPlanNode_ResponsePathElement_oneof_id::index(is.read_uint32()?));
},
_ => {
::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 let ::std::option::Option::Some(ref v) = self.id {
match v {
&Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(ref v) => {
my_size += ::protobuf::rt::string_size(1, &v);
},
&Trace_QueryPlanNode_ResponsePathElement_oneof_id::index(v) => {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
},
};
}
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 let ::std::option::Option::Some(ref v) = self.id {
match v {
&Trace_QueryPlanNode_ResponsePathElement_oneof_id::field_name(ref v) => {
os.write_string(1, v)?;
},
&Trace_QueryPlanNode_ResponsePathElement_oneof_id::index(v) => {
os.write_uint32(2, 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() -> Trace_QueryPlanNode_ResponsePathElement {
Trace_QueryPlanNode_ResponsePathElement::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_singular_string_accessor::<_>(
"field_name",
Trace_QueryPlanNode_ResponsePathElement::has_field_name,
Trace_QueryPlanNode_ResponsePathElement::get_field_name,
));
fields.push(::protobuf::reflect::accessor::make_singular_u32_accessor::<_>(
"index",
Trace_QueryPlanNode_ResponsePathElement::has_index,
Trace_QueryPlanNode_ResponsePathElement::get_index,
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Trace_QueryPlanNode_ResponsePathElement>(
"Trace.QueryPlanNode.ResponsePathElement",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Trace_QueryPlanNode_ResponsePathElement {
static instance: ::protobuf::rt::LazyV2<Trace_QueryPlanNode_ResponsePathElement> = ::protobuf::rt::LazyV2::INIT;
instance.get(Trace_QueryPlanNode_ResponsePathElement::new)
}
}
impl ::protobuf::Clear for Trace_QueryPlanNode_ResponsePathElement {
fn clear(&mut self) {
self.id = ::std::option::Option::None;
self.id = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Trace_QueryPlanNode_ResponsePathElement {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Trace_QueryPlanNode_ResponsePathElement {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ReportHeader {
pub graph_ref: ::std::string::String,
pub hostname: ::std::string::String,
pub agent_version: ::std::string::String,
pub service_version: ::std::string::String,
pub runtime_version: ::std::string::String,
pub uname: ::std::string::String,
pub executable_schema_id: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ReportHeader {
fn default() -> &'a ReportHeader {
<ReportHeader as ::protobuf::Message>::default_instance()
}
}
impl ReportHeader {
pub fn new() -> ReportHeader {
::std::default::Default::default()
}
pub fn get_graph_ref(&self) -> &str {
&self.graph_ref
}
pub fn clear_graph_ref(&mut self) {
self.graph_ref.clear();
}
pub fn set_graph_ref(&mut self, v: ::std::string::String) {
self.graph_ref = v;
}
pub fn mut_graph_ref(&mut self) -> &mut ::std::string::String {
&mut self.graph_ref
}
pub fn take_graph_ref(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.graph_ref, ::std::string::String::new())
}
pub fn get_hostname(&self) -> &str {
&self.hostname
}
pub fn clear_hostname(&mut self) {
self.hostname.clear();
}
pub fn set_hostname(&mut self, v: ::std::string::String) {
self.hostname = v;
}
pub fn mut_hostname(&mut self) -> &mut ::std::string::String {
&mut self.hostname
}
pub fn take_hostname(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.hostname, ::std::string::String::new())
}
pub fn get_agent_version(&self) -> &str {
&self.agent_version
}
pub fn clear_agent_version(&mut self) {
self.agent_version.clear();
}
pub fn set_agent_version(&mut self, v: ::std::string::String) {
self.agent_version = v;
}
pub fn mut_agent_version(&mut self) -> &mut ::std::string::String {
&mut self.agent_version
}
pub fn take_agent_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.agent_version, ::std::string::String::new())
}
pub fn get_service_version(&self) -> &str {
&self.service_version
}
pub fn clear_service_version(&mut self) {
self.service_version.clear();
}
pub fn set_service_version(&mut self, v: ::std::string::String) {
self.service_version = v;
}
pub fn mut_service_version(&mut self) -> &mut ::std::string::String {
&mut self.service_version
}
pub fn take_service_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.service_version, ::std::string::String::new())
}
pub fn get_runtime_version(&self) -> &str {
&self.runtime_version
}
pub fn clear_runtime_version(&mut self) {
self.runtime_version.clear();
}
pub fn set_runtime_version(&mut self, v: ::std::string::String) {
self.runtime_version = v;
}
pub fn mut_runtime_version(&mut self) -> &mut ::std::string::String {
&mut self.runtime_version
}
pub fn take_runtime_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.runtime_version, ::std::string::String::new())
}
pub fn get_uname(&self) -> &str {
&self.uname
}
pub fn clear_uname(&mut self) {
self.uname.clear();
}
pub fn set_uname(&mut self, v: ::std::string::String) {
self.uname = v;
}
pub fn mut_uname(&mut self) -> &mut ::std::string::String {
&mut self.uname
}
pub fn take_uname(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.uname, ::std::string::String::new())
}
pub fn get_executable_schema_id(&self) -> &str {
&self.executable_schema_id
}
pub fn clear_executable_schema_id(&mut self) {
self.executable_schema_id.clear();
}
pub fn set_executable_schema_id(&mut self, v: ::std::string::String) {
self.executable_schema_id = v;
}
pub fn mut_executable_schema_id(&mut self) -> &mut ::std::string::String {
&mut self.executable_schema_id
}
pub fn take_executable_schema_id(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.executable_schema_id, ::std::string::String::new())
}
}
impl ::protobuf::Message for ReportHeader {
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 {
12 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.graph_ref)?;
},
5 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.hostname)?;
},
6 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.agent_version)?;
},
7 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.service_version)?;
},
8 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.runtime_version)?;
},
9 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.uname)?;
},
11 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.executable_schema_id)?;
},
_ => {
::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.graph_ref.is_empty() {
my_size += ::protobuf::rt::string_size(12, &self.graph_ref);
}
if !self.hostname.is_empty() {
my_size += ::protobuf::rt::string_size(5, &self.hostname);
}
if !self.agent_version.is_empty() {
my_size += ::protobuf::rt::string_size(6, &self.agent_version);
}
if !self.service_version.is_empty() {
my_size += ::protobuf::rt::string_size(7, &self.service_version);
}
if !self.runtime_version.is_empty() {
my_size += ::protobuf::rt::string_size(8, &self.runtime_version);
}
if !self.uname.is_empty() {
my_size += ::protobuf::rt::string_size(9, &self.uname);
}
if !self.executable_schema_id.is_empty() {
my_size += ::protobuf::rt::string_size(11, &self.executable_schema_id);
}
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.graph_ref.is_empty() {
os.write_string(12, &self.graph_ref)?;
}
if !self.hostname.is_empty() {
os.write_string(5, &self.hostname)?;
}
if !self.agent_version.is_empty() {
os.write_string(6, &self.agent_version)?;
}
if !self.service_version.is_empty() {
os.write_string(7, &self.service_version)?;
}
if !self.runtime_version.is_empty() {
os.write_string(8, &self.runtime_version)?;
}
if !self.uname.is_empty() {
os.write_string(9, &self.uname)?;
}
if !self.executable_schema_id.is_empty() {
os.write_string(11, &self.executable_schema_id)?;
}
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() -> ReportHeader {
ReportHeader::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::ProtobufTypeString>(
"graph_ref",
|m: &ReportHeader| { &m.graph_ref },
|m: &mut ReportHeader| { &mut m.graph_ref },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"hostname",
|m: &ReportHeader| { &m.hostname },
|m: &mut ReportHeader| { &mut m.hostname },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"agent_version",
|m: &ReportHeader| { &m.agent_version },
|m: &mut ReportHeader| { &mut m.agent_version },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"service_version",
|m: &ReportHeader| { &m.service_version },
|m: &mut ReportHeader| { &mut m.service_version },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"runtime_version",
|m: &ReportHeader| { &m.runtime_version },
|m: &mut ReportHeader| { &mut m.runtime_version },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"uname",
|m: &ReportHeader| { &m.uname },
|m: &mut ReportHeader| { &mut m.uname },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"executable_schema_id",
|m: &ReportHeader| { &m.executable_schema_id },
|m: &mut ReportHeader| { &mut m.executable_schema_id },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<ReportHeader>(
"ReportHeader",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static ReportHeader {
static instance: ::protobuf::rt::LazyV2<ReportHeader> = ::protobuf::rt::LazyV2::INIT;
instance.get(ReportHeader::new)
}
}
impl ::protobuf::Clear for ReportHeader {
fn clear(&mut self) {
self.graph_ref.clear();
self.hostname.clear();
self.agent_version.clear();
self.service_version.clear();
self.runtime_version.clear();
self.uname.clear();
self.executable_schema_id.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ReportHeader {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ReportHeader {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct PathErrorStats {
pub children: ::std::collections::HashMap<::std::string::String, PathErrorStats>,
pub errors_count: u64,
pub requests_with_errors_count: u64,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a PathErrorStats {
fn default() -> &'a PathErrorStats {
<PathErrorStats as ::protobuf::Message>::default_instance()
}
}
impl PathErrorStats {
pub fn new() -> PathErrorStats {
::std::default::Default::default()
}
pub fn get_children(&self) -> &::std::collections::HashMap<::std::string::String, PathErrorStats> {
&self.children
}
pub fn clear_children(&mut self) {
self.children.clear();
}
pub fn set_children(&mut self, v: ::std::collections::HashMap<::std::string::String, PathErrorStats>) {
self.children = v;
}
pub fn mut_children(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, PathErrorStats> {
&mut self.children
}
pub fn take_children(&mut self) -> ::std::collections::HashMap<::std::string::String, PathErrorStats> {
::std::mem::replace(&mut self.children, ::std::collections::HashMap::new())
}
pub fn get_errors_count(&self) -> u64 {
self.errors_count
}
pub fn clear_errors_count(&mut self) {
self.errors_count = 0;
}
pub fn set_errors_count(&mut self, v: u64) {
self.errors_count = v;
}
pub fn get_requests_with_errors_count(&self) -> u64 {
self.requests_with_errors_count
}
pub fn clear_requests_with_errors_count(&mut self) {
self.requests_with_errors_count = 0;
}
pub fn set_requests_with_errors_count(&mut self, v: u64) {
self.requests_with_errors_count = v;
}
}
impl ::protobuf::Message for PathErrorStats {
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_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<PathErrorStats>>(wire_type, is, &mut self.children)?;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.errors_count = tmp;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.requests_with_errors_count = 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;
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<PathErrorStats>>(1, &self.children);
if self.errors_count != 0 {
my_size += ::protobuf::rt::value_size(4, self.errors_count, ::protobuf::wire_format::WireTypeVarint);
}
if self.requests_with_errors_count != 0 {
my_size += ::protobuf::rt::value_size(5, self.requests_with_errors_count, ::protobuf::wire_format::WireTypeVarint);
}
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<()> {
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<PathErrorStats>>(1, &self.children, os)?;
if self.errors_count != 0 {
os.write_uint64(4, self.errors_count)?;
}
if self.requests_with_errors_count != 0 {
os.write_uint64(5, self.requests_with_errors_count)?;
}
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() -> PathErrorStats {
PathErrorStats::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_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<PathErrorStats>>(
"children",
|m: &PathErrorStats| { &m.children },
|m: &mut PathErrorStats| { &mut m.children },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"errors_count",
|m: &PathErrorStats| { &m.errors_count },
|m: &mut PathErrorStats| { &mut m.errors_count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"requests_with_errors_count",
|m: &PathErrorStats| { &m.requests_with_errors_count },
|m: &mut PathErrorStats| { &mut m.requests_with_errors_count },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<PathErrorStats>(
"PathErrorStats",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static PathErrorStats {
static instance: ::protobuf::rt::LazyV2<PathErrorStats> = ::protobuf::rt::LazyV2::INIT;
instance.get(PathErrorStats::new)
}
}
impl ::protobuf::Clear for PathErrorStats {
fn clear(&mut self) {
self.children.clear();
self.errors_count = 0;
self.requests_with_errors_count = 0;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for PathErrorStats {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for PathErrorStats {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct QueryLatencyStats {
pub latency_count: ::std::vec::Vec<i64>,
pub request_count: u64,
pub cache_hits: u64,
pub persisted_query_hits: u64,
pub persisted_query_misses: u64,
pub cache_latency_count: ::std::vec::Vec<i64>,
pub root_error_stats: ::protobuf::SingularPtrField<PathErrorStats>,
pub requests_with_errors_count: u64,
pub public_cache_ttl_count: ::std::vec::Vec<i64>,
pub private_cache_ttl_count: ::std::vec::Vec<i64>,
pub registered_operation_count: u64,
pub forbidden_operation_count: u64,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a QueryLatencyStats {
fn default() -> &'a QueryLatencyStats {
<QueryLatencyStats as ::protobuf::Message>::default_instance()
}
}
impl QueryLatencyStats {
pub fn new() -> QueryLatencyStats {
::std::default::Default::default()
}
pub fn get_latency_count(&self) -> &[i64] {
&self.latency_count
}
pub fn clear_latency_count(&mut self) {
self.latency_count.clear();
}
pub fn set_latency_count(&mut self, v: ::std::vec::Vec<i64>) {
self.latency_count = v;
}
pub fn mut_latency_count(&mut self) -> &mut ::std::vec::Vec<i64> {
&mut self.latency_count
}
pub fn take_latency_count(&mut self) -> ::std::vec::Vec<i64> {
::std::mem::replace(&mut self.latency_count, ::std::vec::Vec::new())
}
pub fn get_request_count(&self) -> u64 {
self.request_count
}
pub fn clear_request_count(&mut self) {
self.request_count = 0;
}
pub fn set_request_count(&mut self, v: u64) {
self.request_count = v;
}
pub fn get_cache_hits(&self) -> u64 {
self.cache_hits
}
pub fn clear_cache_hits(&mut self) {
self.cache_hits = 0;
}
pub fn set_cache_hits(&mut self, v: u64) {
self.cache_hits = v;
}
pub fn get_persisted_query_hits(&self) -> u64 {
self.persisted_query_hits
}
pub fn clear_persisted_query_hits(&mut self) {
self.persisted_query_hits = 0;
}
pub fn set_persisted_query_hits(&mut self, v: u64) {
self.persisted_query_hits = v;
}
pub fn get_persisted_query_misses(&self) -> u64 {
self.persisted_query_misses
}
pub fn clear_persisted_query_misses(&mut self) {
self.persisted_query_misses = 0;
}
pub fn set_persisted_query_misses(&mut self, v: u64) {
self.persisted_query_misses = v;
}
pub fn get_cache_latency_count(&self) -> &[i64] {
&self.cache_latency_count
}
pub fn clear_cache_latency_count(&mut self) {
self.cache_latency_count.clear();
}
pub fn set_cache_latency_count(&mut self, v: ::std::vec::Vec<i64>) {
self.cache_latency_count = v;
}
pub fn mut_cache_latency_count(&mut self) -> &mut ::std::vec::Vec<i64> {
&mut self.cache_latency_count
}
pub fn take_cache_latency_count(&mut self) -> ::std::vec::Vec<i64> {
::std::mem::replace(&mut self.cache_latency_count, ::std::vec::Vec::new())
}
pub fn get_root_error_stats(&self) -> &PathErrorStats {
self.root_error_stats.as_ref().unwrap_or_else(|| <PathErrorStats as ::protobuf::Message>::default_instance())
}
pub fn clear_root_error_stats(&mut self) {
self.root_error_stats.clear();
}
pub fn has_root_error_stats(&self) -> bool {
self.root_error_stats.is_some()
}
pub fn set_root_error_stats(&mut self, v: PathErrorStats) {
self.root_error_stats = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_root_error_stats(&mut self) -> &mut PathErrorStats {
if self.root_error_stats.is_none() {
self.root_error_stats.set_default();
}
self.root_error_stats.as_mut().unwrap()
}
pub fn take_root_error_stats(&mut self) -> PathErrorStats {
self.root_error_stats.take().unwrap_or_else(|| PathErrorStats::new())
}
pub fn get_requests_with_errors_count(&self) -> u64 {
self.requests_with_errors_count
}
pub fn clear_requests_with_errors_count(&mut self) {
self.requests_with_errors_count = 0;
}
pub fn set_requests_with_errors_count(&mut self, v: u64) {
self.requests_with_errors_count = v;
}
pub fn get_public_cache_ttl_count(&self) -> &[i64] {
&self.public_cache_ttl_count
}
pub fn clear_public_cache_ttl_count(&mut self) {
self.public_cache_ttl_count.clear();
}
pub fn set_public_cache_ttl_count(&mut self, v: ::std::vec::Vec<i64>) {
self.public_cache_ttl_count = v;
}
pub fn mut_public_cache_ttl_count(&mut self) -> &mut ::std::vec::Vec<i64> {
&mut self.public_cache_ttl_count
}
pub fn take_public_cache_ttl_count(&mut self) -> ::std::vec::Vec<i64> {
::std::mem::replace(&mut self.public_cache_ttl_count, ::std::vec::Vec::new())
}
pub fn get_private_cache_ttl_count(&self) -> &[i64] {
&self.private_cache_ttl_count
}
pub fn clear_private_cache_ttl_count(&mut self) {
self.private_cache_ttl_count.clear();
}
pub fn set_private_cache_ttl_count(&mut self, v: ::std::vec::Vec<i64>) {
self.private_cache_ttl_count = v;
}
pub fn mut_private_cache_ttl_count(&mut self) -> &mut ::std::vec::Vec<i64> {
&mut self.private_cache_ttl_count
}
pub fn take_private_cache_ttl_count(&mut self) -> ::std::vec::Vec<i64> {
::std::mem::replace(&mut self.private_cache_ttl_count, ::std::vec::Vec::new())
}
pub fn get_registered_operation_count(&self) -> u64 {
self.registered_operation_count
}
pub fn clear_registered_operation_count(&mut self) {
self.registered_operation_count = 0;
}
pub fn set_registered_operation_count(&mut self, v: u64) {
self.registered_operation_count = v;
}
pub fn get_forbidden_operation_count(&self) -> u64 {
self.forbidden_operation_count
}
pub fn clear_forbidden_operation_count(&mut self) {
self.forbidden_operation_count = 0;
}
pub fn set_forbidden_operation_count(&mut self, v: u64) {
self.forbidden_operation_count = v;
}
}
impl ::protobuf::Message for QueryLatencyStats {
fn is_initialized(&self) -> bool {
for v in &self.root_error_stats {
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 {
13 => {
::protobuf::rt::read_repeated_sint64_into(wire_type, is, &mut self.latency_count)?;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.request_count = tmp;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.cache_hits = tmp;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.persisted_query_hits = tmp;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.persisted_query_misses = tmp;
},
14 => {
::protobuf::rt::read_repeated_sint64_into(wire_type, is, &mut self.cache_latency_count)?;
},
7 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.root_error_stats)?;
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.requests_with_errors_count = tmp;
},
15 => {
::protobuf::rt::read_repeated_sint64_into(wire_type, is, &mut self.public_cache_ttl_count)?;
},
16 => {
::protobuf::rt::read_repeated_sint64_into(wire_type, is, &mut self.private_cache_ttl_count)?;
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.registered_operation_count = tmp;
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.forbidden_operation_count = 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;
for value in &self.latency_count {
my_size += ::protobuf::rt::value_varint_zigzag_size(13, *value);
};
if self.request_count != 0 {
my_size += ::protobuf::rt::value_size(2, self.request_count, ::protobuf::wire_format::WireTypeVarint);
}
if self.cache_hits != 0 {
my_size += ::protobuf::rt::value_size(3, self.cache_hits, ::protobuf::wire_format::WireTypeVarint);
}
if self.persisted_query_hits != 0 {
my_size += ::protobuf::rt::value_size(4, self.persisted_query_hits, ::protobuf::wire_format::WireTypeVarint);
}
if self.persisted_query_misses != 0 {
my_size += ::protobuf::rt::value_size(5, self.persisted_query_misses, ::protobuf::wire_format::WireTypeVarint);
}
for value in &self.cache_latency_count {
my_size += ::protobuf::rt::value_varint_zigzag_size(14, *value);
};
if let Some(ref v) = self.root_error_stats.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.requests_with_errors_count != 0 {
my_size += ::protobuf::rt::value_size(8, self.requests_with_errors_count, ::protobuf::wire_format::WireTypeVarint);
}
for value in &self.public_cache_ttl_count {
my_size += ::protobuf::rt::value_varint_zigzag_size(15, *value);
};
for value in &self.private_cache_ttl_count {
my_size += ::protobuf::rt::value_varint_zigzag_size(16, *value);
};
if self.registered_operation_count != 0 {
my_size += ::protobuf::rt::value_size(11, self.registered_operation_count, ::protobuf::wire_format::WireTypeVarint);
}
if self.forbidden_operation_count != 0 {
my_size += ::protobuf::rt::value_size(12, self.forbidden_operation_count, ::protobuf::wire_format::WireTypeVarint);
}
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.latency_count {
os.write_sint64(13, *v)?;
};
if self.request_count != 0 {
os.write_uint64(2, self.request_count)?;
}
if self.cache_hits != 0 {
os.write_uint64(3, self.cache_hits)?;
}
if self.persisted_query_hits != 0 {
os.write_uint64(4, self.persisted_query_hits)?;
}
if self.persisted_query_misses != 0 {
os.write_uint64(5, self.persisted_query_misses)?;
}
for v in &self.cache_latency_count {
os.write_sint64(14, *v)?;
};
if let Some(ref v) = self.root_error_stats.as_ref() {
os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if self.requests_with_errors_count != 0 {
os.write_uint64(8, self.requests_with_errors_count)?;
}
for v in &self.public_cache_ttl_count {
os.write_sint64(15, *v)?;
};
for v in &self.private_cache_ttl_count {
os.write_sint64(16, *v)?;
};
if self.registered_operation_count != 0 {
os.write_uint64(11, self.registered_operation_count)?;
}
if self.forbidden_operation_count != 0 {
os.write_uint64(12, self.forbidden_operation_count)?;
}
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() -> QueryLatencyStats {
QueryLatencyStats::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::ProtobufTypeSint64>(
"latency_count",
|m: &QueryLatencyStats| { &m.latency_count },
|m: &mut QueryLatencyStats| { &mut m.latency_count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"request_count",
|m: &QueryLatencyStats| { &m.request_count },
|m: &mut QueryLatencyStats| { &mut m.request_count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"cache_hits",
|m: &QueryLatencyStats| { &m.cache_hits },
|m: &mut QueryLatencyStats| { &mut m.cache_hits },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"persisted_query_hits",
|m: &QueryLatencyStats| { &m.persisted_query_hits },
|m: &mut QueryLatencyStats| { &mut m.persisted_query_hits },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"persisted_query_misses",
|m: &QueryLatencyStats| { &m.persisted_query_misses },
|m: &mut QueryLatencyStats| { &mut m.persisted_query_misses },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeSint64>(
"cache_latency_count",
|m: &QueryLatencyStats| { &m.cache_latency_count },
|m: &mut QueryLatencyStats| { &mut m.cache_latency_count },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PathErrorStats>>(
"root_error_stats",
|m: &QueryLatencyStats| { &m.root_error_stats },
|m: &mut QueryLatencyStats| { &mut m.root_error_stats },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"requests_with_errors_count",
|m: &QueryLatencyStats| { &m.requests_with_errors_count },
|m: &mut QueryLatencyStats| { &mut m.requests_with_errors_count },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeSint64>(
"public_cache_ttl_count",
|m: &QueryLatencyStats| { &m.public_cache_ttl_count },
|m: &mut QueryLatencyStats| { &mut m.public_cache_ttl_count },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeSint64>(
"private_cache_ttl_count",
|m: &QueryLatencyStats| { &m.private_cache_ttl_count },
|m: &mut QueryLatencyStats| { &mut m.private_cache_ttl_count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"registered_operation_count",
|m: &QueryLatencyStats| { &m.registered_operation_count },
|m: &mut QueryLatencyStats| { &mut m.registered_operation_count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"forbidden_operation_count",
|m: &QueryLatencyStats| { &m.forbidden_operation_count },
|m: &mut QueryLatencyStats| { &mut m.forbidden_operation_count },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<QueryLatencyStats>(
"QueryLatencyStats",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static QueryLatencyStats {
static instance: ::protobuf::rt::LazyV2<QueryLatencyStats> = ::protobuf::rt::LazyV2::INIT;
instance.get(QueryLatencyStats::new)
}
}
impl ::protobuf::Clear for QueryLatencyStats {
fn clear(&mut self) {
self.latency_count.clear();
self.request_count = 0;
self.cache_hits = 0;
self.persisted_query_hits = 0;
self.persisted_query_misses = 0;
self.cache_latency_count.clear();
self.root_error_stats.clear();
self.requests_with_errors_count = 0;
self.public_cache_ttl_count.clear();
self.private_cache_ttl_count.clear();
self.registered_operation_count = 0;
self.forbidden_operation_count = 0;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for QueryLatencyStats {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for QueryLatencyStats {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct StatsContext {
pub client_reference_id: ::std::string::String,
pub client_name: ::std::string::String,
pub client_version: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a StatsContext {
fn default() -> &'a StatsContext {
<StatsContext as ::protobuf::Message>::default_instance()
}
}
impl StatsContext {
pub fn new() -> StatsContext {
::std::default::Default::default()
}
pub fn get_client_reference_id(&self) -> &str {
&self.client_reference_id
}
pub fn clear_client_reference_id(&mut self) {
self.client_reference_id.clear();
}
pub fn set_client_reference_id(&mut self, v: ::std::string::String) {
self.client_reference_id = v;
}
pub fn mut_client_reference_id(&mut self) -> &mut ::std::string::String {
&mut self.client_reference_id
}
pub fn take_client_reference_id(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.client_reference_id, ::std::string::String::new())
}
pub fn get_client_name(&self) -> &str {
&self.client_name
}
pub fn clear_client_name(&mut self) {
self.client_name.clear();
}
pub fn set_client_name(&mut self, v: ::std::string::String) {
self.client_name = v;
}
pub fn mut_client_name(&mut self) -> &mut ::std::string::String {
&mut self.client_name
}
pub fn take_client_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.client_name, ::std::string::String::new())
}
pub fn get_client_version(&self) -> &str {
&self.client_version
}
pub fn clear_client_version(&mut self) {
self.client_version.clear();
}
pub fn set_client_version(&mut self, v: ::std::string::String) {
self.client_version = v;
}
pub fn mut_client_version(&mut self) -> &mut ::std::string::String {
&mut self.client_version
}
pub fn take_client_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.client_version, ::std::string::String::new())
}
}
impl ::protobuf::Message for StatsContext {
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_singular_proto3_string_into(wire_type, is, &mut self.client_reference_id)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.client_name)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.client_version)?;
},
_ => {
::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.client_reference_id.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.client_reference_id);
}
if !self.client_name.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.client_name);
}
if !self.client_version.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.client_version);
}
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.client_reference_id.is_empty() {
os.write_string(1, &self.client_reference_id)?;
}
if !self.client_name.is_empty() {
os.write_string(2, &self.client_name)?;
}
if !self.client_version.is_empty() {
os.write_string(3, &self.client_version)?;
}
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() -> StatsContext {
StatsContext::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::ProtobufTypeString>(
"client_reference_id",
|m: &StatsContext| { &m.client_reference_id },
|m: &mut StatsContext| { &mut m.client_reference_id },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_name",
|m: &StatsContext| { &m.client_name },
|m: &mut StatsContext| { &mut m.client_name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_version",
|m: &StatsContext| { &m.client_version },
|m: &mut StatsContext| { &mut m.client_version },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<StatsContext>(
"StatsContext",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static StatsContext {
static instance: ::protobuf::rt::LazyV2<StatsContext> = ::protobuf::rt::LazyV2::INIT;
instance.get(StatsContext::new)
}
}
impl ::protobuf::Clear for StatsContext {
fn clear(&mut self) {
self.client_reference_id.clear();
self.client_name.clear();
self.client_version.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for StatsContext {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for StatsContext {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ContextualizedQueryLatencyStats {
pub query_latency_stats: ::protobuf::SingularPtrField<QueryLatencyStats>,
pub context: ::protobuf::SingularPtrField<StatsContext>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ContextualizedQueryLatencyStats {
fn default() -> &'a ContextualizedQueryLatencyStats {
<ContextualizedQueryLatencyStats as ::protobuf::Message>::default_instance()
}
}
impl ContextualizedQueryLatencyStats {
pub fn new() -> ContextualizedQueryLatencyStats {
::std::default::Default::default()
}
pub fn get_query_latency_stats(&self) -> &QueryLatencyStats {
self.query_latency_stats.as_ref().unwrap_or_else(|| <QueryLatencyStats as ::protobuf::Message>::default_instance())
}
pub fn clear_query_latency_stats(&mut self) {
self.query_latency_stats.clear();
}
pub fn has_query_latency_stats(&self) -> bool {
self.query_latency_stats.is_some()
}
pub fn set_query_latency_stats(&mut self, v: QueryLatencyStats) {
self.query_latency_stats = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_query_latency_stats(&mut self) -> &mut QueryLatencyStats {
if self.query_latency_stats.is_none() {
self.query_latency_stats.set_default();
}
self.query_latency_stats.as_mut().unwrap()
}
pub fn take_query_latency_stats(&mut self) -> QueryLatencyStats {
self.query_latency_stats.take().unwrap_or_else(|| QueryLatencyStats::new())
}
pub fn get_context(&self) -> &StatsContext {
self.context.as_ref().unwrap_or_else(|| <StatsContext as ::protobuf::Message>::default_instance())
}
pub fn clear_context(&mut self) {
self.context.clear();
}
pub fn has_context(&self) -> bool {
self.context.is_some()
}
pub fn set_context(&mut self, v: StatsContext) {
self.context = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_context(&mut self) -> &mut StatsContext {
if self.context.is_none() {
self.context.set_default();
}
self.context.as_mut().unwrap()
}
pub fn take_context(&mut self) -> StatsContext {
self.context.take().unwrap_or_else(|| StatsContext::new())
}
}
impl ::protobuf::Message for ContextualizedQueryLatencyStats {
fn is_initialized(&self) -> bool {
for v in &self.query_latency_stats {
if !v.is_initialized() {
return false;
}
};
for v in &self.context {
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 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.query_latency_stats)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.context)?;
},
_ => {
::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 let Some(ref v) = self.query_latency_stats.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.context.as_ref() {
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 let Some(ref v) = self.query_latency_stats.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.context.as_ref() {
os.write_tag(2, ::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() -> ContextualizedQueryLatencyStats {
ContextualizedQueryLatencyStats::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<QueryLatencyStats>>(
"query_latency_stats",
|m: &ContextualizedQueryLatencyStats| { &m.query_latency_stats },
|m: &mut ContextualizedQueryLatencyStats| { &mut m.query_latency_stats },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<StatsContext>>(
"context",
|m: &ContextualizedQueryLatencyStats| { &m.context },
|m: &mut ContextualizedQueryLatencyStats| { &mut m.context },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<ContextualizedQueryLatencyStats>(
"ContextualizedQueryLatencyStats",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static ContextualizedQueryLatencyStats {
static instance: ::protobuf::rt::LazyV2<ContextualizedQueryLatencyStats> = ::protobuf::rt::LazyV2::INIT;
instance.get(ContextualizedQueryLatencyStats::new)
}
}
impl ::protobuf::Clear for ContextualizedQueryLatencyStats {
fn clear(&mut self) {
self.query_latency_stats.clear();
self.context.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ContextualizedQueryLatencyStats {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ContextualizedQueryLatencyStats {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ContextualizedTypeStats {
pub context: ::protobuf::SingularPtrField<StatsContext>,
pub per_type_stat: ::std::collections::HashMap<::std::string::String, TypeStat>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ContextualizedTypeStats {
fn default() -> &'a ContextualizedTypeStats {
<ContextualizedTypeStats as ::protobuf::Message>::default_instance()
}
}
impl ContextualizedTypeStats {
pub fn new() -> ContextualizedTypeStats {
::std::default::Default::default()
}
pub fn get_context(&self) -> &StatsContext {
self.context.as_ref().unwrap_or_else(|| <StatsContext as ::protobuf::Message>::default_instance())
}
pub fn clear_context(&mut self) {
self.context.clear();
}
pub fn has_context(&self) -> bool {
self.context.is_some()
}
pub fn set_context(&mut self, v: StatsContext) {
self.context = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_context(&mut self) -> &mut StatsContext {
if self.context.is_none() {
self.context.set_default();
}
self.context.as_mut().unwrap()
}
pub fn take_context(&mut self) -> StatsContext {
self.context.take().unwrap_or_else(|| StatsContext::new())
}
pub fn get_per_type_stat(&self) -> &::std::collections::HashMap<::std::string::String, TypeStat> {
&self.per_type_stat
}
pub fn clear_per_type_stat(&mut self) {
self.per_type_stat.clear();
}
pub fn set_per_type_stat(&mut self, v: ::std::collections::HashMap<::std::string::String, TypeStat>) {
self.per_type_stat = v;
}
pub fn mut_per_type_stat(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, TypeStat> {
&mut self.per_type_stat
}
pub fn take_per_type_stat(&mut self) -> ::std::collections::HashMap<::std::string::String, TypeStat> {
::std::mem::replace(&mut self.per_type_stat, ::std::collections::HashMap::new())
}
}
impl ::protobuf::Message for ContextualizedTypeStats {
fn is_initialized(&self) -> bool {
for v in &self.context {
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 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.context)?;
},
2 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(wire_type, is, &mut self.per_type_stat)?;
},
_ => {
::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 let Some(ref v) = self.context.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(2, &self.per_type_stat);
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 let Some(ref v) = self.context.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(2, &self.per_type_stat, 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() -> ContextualizedTypeStats {
ContextualizedTypeStats::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<StatsContext>>(
"context",
|m: &ContextualizedTypeStats| { &m.context },
|m: &mut ContextualizedTypeStats| { &mut m.context },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(
"per_type_stat",
|m: &ContextualizedTypeStats| { &m.per_type_stat },
|m: &mut ContextualizedTypeStats| { &mut m.per_type_stat },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<ContextualizedTypeStats>(
"ContextualizedTypeStats",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static ContextualizedTypeStats {
static instance: ::protobuf::rt::LazyV2<ContextualizedTypeStats> = ::protobuf::rt::LazyV2::INIT;
instance.get(ContextualizedTypeStats::new)
}
}
impl ::protobuf::Clear for ContextualizedTypeStats {
fn clear(&mut self) {
self.context.clear();
self.per_type_stat.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ContextualizedTypeStats {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ContextualizedTypeStats {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct FieldStat {
pub return_type: ::std::string::String,
pub errors_count: u64,
pub count: u64,
pub requests_with_errors_count: u64,
pub latency_count: ::std::vec::Vec<i64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a FieldStat {
fn default() -> &'a FieldStat {
<FieldStat as ::protobuf::Message>::default_instance()
}
}
impl FieldStat {
pub fn new() -> FieldStat {
::std::default::Default::default()
}
pub fn get_return_type(&self) -> &str {
&self.return_type
}
pub fn clear_return_type(&mut self) {
self.return_type.clear();
}
pub fn set_return_type(&mut self, v: ::std::string::String) {
self.return_type = v;
}
pub fn mut_return_type(&mut self) -> &mut ::std::string::String {
&mut self.return_type
}
pub fn take_return_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.return_type, ::std::string::String::new())
}
pub fn get_errors_count(&self) -> u64 {
self.errors_count
}
pub fn clear_errors_count(&mut self) {
self.errors_count = 0;
}
pub fn set_errors_count(&mut self, v: u64) {
self.errors_count = v;
}
pub fn get_count(&self) -> u64 {
self.count
}
pub fn clear_count(&mut self) {
self.count = 0;
}
pub fn set_count(&mut self, v: u64) {
self.count = v;
}
pub fn get_requests_with_errors_count(&self) -> u64 {
self.requests_with_errors_count
}
pub fn clear_requests_with_errors_count(&mut self) {
self.requests_with_errors_count = 0;
}
pub fn set_requests_with_errors_count(&mut self, v: u64) {
self.requests_with_errors_count = v;
}
pub fn get_latency_count(&self) -> &[i64] {
&self.latency_count
}
pub fn clear_latency_count(&mut self) {
self.latency_count.clear();
}
pub fn set_latency_count(&mut self, v: ::std::vec::Vec<i64>) {
self.latency_count = v;
}
pub fn mut_latency_count(&mut self) -> &mut ::std::vec::Vec<i64> {
&mut self.latency_count
}
pub fn take_latency_count(&mut self) -> ::std::vec::Vec<i64> {
::std::mem::replace(&mut self.latency_count, ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for FieldStat {
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 {
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.return_type)?;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.errors_count = tmp;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.count = tmp;
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint64()?;
self.requests_with_errors_count = tmp;
},
9 => {
::protobuf::rt::read_repeated_sint64_into(wire_type, is, &mut self.latency_count)?;
},
_ => {
::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.return_type.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.return_type);
}
if self.errors_count != 0 {
my_size += ::protobuf::rt::value_size(4, self.errors_count, ::protobuf::wire_format::WireTypeVarint);
}
if self.count != 0 {
my_size += ::protobuf::rt::value_size(5, self.count, ::protobuf::wire_format::WireTypeVarint);
}
if self.requests_with_errors_count != 0 {
my_size += ::protobuf::rt::value_size(6, self.requests_with_errors_count, ::protobuf::wire_format::WireTypeVarint);
}
for value in &self.latency_count {
my_size += ::protobuf::rt::value_varint_zigzag_size(9, *value);
};
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.return_type.is_empty() {
os.write_string(3, &self.return_type)?;
}
if self.errors_count != 0 {
os.write_uint64(4, self.errors_count)?;
}
if self.count != 0 {
os.write_uint64(5, self.count)?;
}
if self.requests_with_errors_count != 0 {
os.write_uint64(6, self.requests_with_errors_count)?;
}
for v in &self.latency_count {
os.write_sint64(9, *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() -> FieldStat {
FieldStat::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::ProtobufTypeString>(
"return_type",
|m: &FieldStat| { &m.return_type },
|m: &mut FieldStat| { &mut m.return_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"errors_count",
|m: &FieldStat| { &m.errors_count },
|m: &mut FieldStat| { &mut m.errors_count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"count",
|m: &FieldStat| { &m.count },
|m: &mut FieldStat| { &mut m.count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"requests_with_errors_count",
|m: &FieldStat| { &m.requests_with_errors_count },
|m: &mut FieldStat| { &mut m.requests_with_errors_count },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeSint64>(
"latency_count",
|m: &FieldStat| { &m.latency_count },
|m: &mut FieldStat| { &mut m.latency_count },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<FieldStat>(
"FieldStat",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static FieldStat {
static instance: ::protobuf::rt::LazyV2<FieldStat> = ::protobuf::rt::LazyV2::INIT;
instance.get(FieldStat::new)
}
}
impl ::protobuf::Clear for FieldStat {
fn clear(&mut self) {
self.return_type.clear();
self.errors_count = 0;
self.count = 0;
self.requests_with_errors_count = 0;
self.latency_count.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for FieldStat {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for FieldStat {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct TypeStat {
pub per_field_stat: ::std::collections::HashMap<::std::string::String, FieldStat>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a TypeStat {
fn default() -> &'a TypeStat {
<TypeStat as ::protobuf::Message>::default_instance()
}
}
impl TypeStat {
pub fn new() -> TypeStat {
::std::default::Default::default()
}
pub fn get_per_field_stat(&self) -> &::std::collections::HashMap<::std::string::String, FieldStat> {
&self.per_field_stat
}
pub fn clear_per_field_stat(&mut self) {
self.per_field_stat.clear();
}
pub fn set_per_field_stat(&mut self, v: ::std::collections::HashMap<::std::string::String, FieldStat>) {
self.per_field_stat = v;
}
pub fn mut_per_field_stat(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, FieldStat> {
&mut self.per_field_stat
}
pub fn take_per_field_stat(&mut self) -> ::std::collections::HashMap<::std::string::String, FieldStat> {
::std::mem::replace(&mut self.per_field_stat, ::std::collections::HashMap::new())
}
}
impl ::protobuf::Message for TypeStat {
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 {
3 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FieldStat>>(wire_type, is, &mut self.per_field_stat)?;
},
_ => {
::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 += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FieldStat>>(3, &self.per_field_stat);
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<()> {
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FieldStat>>(3, &self.per_field_stat, 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() -> TypeStat {
TypeStat::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_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FieldStat>>(
"per_field_stat",
|m: &TypeStat| { &m.per_field_stat },
|m: &mut TypeStat| { &mut m.per_field_stat },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<TypeStat>(
"TypeStat",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static TypeStat {
static instance: ::protobuf::rt::LazyV2<TypeStat> = ::protobuf::rt::LazyV2::INIT;
instance.get(TypeStat::new)
}
}
impl ::protobuf::Clear for TypeStat {
fn clear(&mut self) {
self.per_field_stat.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for TypeStat {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for TypeStat {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Field {
pub name: ::std::string::String,
pub return_type: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Field {
fn default() -> &'a Field {
<Field as ::protobuf::Message>::default_instance()
}
}
impl Field {
pub fn new() -> Field {
::std::default::Default::default()
}
pub fn get_name(&self) -> &str {
&self.name
}
pub fn clear_name(&mut self) {
self.name.clear();
}
pub fn set_name(&mut self, v: ::std::string::String) {
self.name = v;
}
pub fn mut_name(&mut self) -> &mut ::std::string::String {
&mut self.name
}
pub fn take_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.name, ::std::string::String::new())
}
pub fn get_return_type(&self) -> &str {
&self.return_type
}
pub fn clear_return_type(&mut self) {
self.return_type.clear();
}
pub fn set_return_type(&mut self, v: ::std::string::String) {
self.return_type = v;
}
pub fn mut_return_type(&mut self) -> &mut ::std::string::String {
&mut self.return_type
}
pub fn take_return_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.return_type, ::std::string::String::new())
}
}
impl ::protobuf::Message for Field {
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 {
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.return_type)?;
},
_ => {
::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.name.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.name);
}
if !self.return_type.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.return_type);
}
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.name.is_empty() {
os.write_string(2, &self.name)?;
}
if !self.return_type.is_empty() {
os.write_string(3, &self.return_type)?;
}
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() -> Field {
Field::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::ProtobufTypeString>(
"name",
|m: &Field| { &m.name },
|m: &mut Field| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"return_type",
|m: &Field| { &m.return_type },
|m: &mut Field| { &mut m.return_type },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Field>(
"Field",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Field {
static instance: ::protobuf::rt::LazyV2<Field> = ::protobuf::rt::LazyV2::INIT;
instance.get(Field::new)
}
}
impl ::protobuf::Clear for Field {
fn clear(&mut self) {
self.name.clear();
self.return_type.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Field {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Field {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Type {
pub name: ::std::string::String,
pub field: ::protobuf::RepeatedField<Field>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Type {
fn default() -> &'a Type {
<Type as ::protobuf::Message>::default_instance()
}
}
impl Type {
pub fn new() -> Type {
::std::default::Default::default()
}
pub fn get_name(&self) -> &str {
&self.name
}
pub fn clear_name(&mut self) {
self.name.clear();
}
pub fn set_name(&mut self, v: ::std::string::String) {
self.name = v;
}
pub fn mut_name(&mut self) -> &mut ::std::string::String {
&mut self.name
}
pub fn take_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.name, ::std::string::String::new())
}
pub fn get_field(&self) -> &[Field] {
&self.field
}
pub fn clear_field(&mut self) {
self.field.clear();
}
pub fn set_field(&mut self, v: ::protobuf::RepeatedField<Field>) {
self.field = v;
}
pub fn mut_field(&mut self) -> &mut ::protobuf::RepeatedField<Field> {
&mut self.field
}
pub fn take_field(&mut self) -> ::protobuf::RepeatedField<Field> {
::std::mem::replace(&mut self.field, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Type {
fn is_initialized(&self) -> bool {
for v in &self.field {
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 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.field)?;
},
_ => {
::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.name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.name);
}
for value in &self.field {
let len = value.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.name.is_empty() {
os.write_string(1, &self.name)?;
}
for v in &self.field {
os.write_tag(2, ::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() -> Type {
Type::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::ProtobufTypeString>(
"name",
|m: &Type| { &m.name },
|m: &mut Type| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Field>>(
"field",
|m: &Type| { &m.field },
|m: &mut Type| { &mut m.field },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Type>(
"Type",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Type {
static instance: ::protobuf::rt::LazyV2<Type> = ::protobuf::rt::LazyV2::INIT;
instance.get(Type::new)
}
}
impl ::protobuf::Clear for Type {
fn clear(&mut self) {
self.name.clear();
self.field.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Type {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Type {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Report {
pub header: ::protobuf::SingularPtrField<ReportHeader>,
pub traces_per_query: ::std::collections::HashMap<::std::string::String, TracesAndStats>,
pub end_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Report {
fn default() -> &'a Report {
<Report as ::protobuf::Message>::default_instance()
}
}
impl Report {
pub fn new() -> Report {
::std::default::Default::default()
}
pub fn get_header(&self) -> &ReportHeader {
self.header.as_ref().unwrap_or_else(|| <ReportHeader as ::protobuf::Message>::default_instance())
}
pub fn clear_header(&mut self) {
self.header.clear();
}
pub fn has_header(&self) -> bool {
self.header.is_some()
}
pub fn set_header(&mut self, v: ReportHeader) {
self.header = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_header(&mut self) -> &mut ReportHeader {
if self.header.is_none() {
self.header.set_default();
}
self.header.as_mut().unwrap()
}
pub fn take_header(&mut self) -> ReportHeader {
self.header.take().unwrap_or_else(|| ReportHeader::new())
}
pub fn get_traces_per_query(&self) -> &::std::collections::HashMap<::std::string::String, TracesAndStats> {
&self.traces_per_query
}
pub fn clear_traces_per_query(&mut self) {
self.traces_per_query.clear();
}
pub fn set_traces_per_query(&mut self, v: ::std::collections::HashMap<::std::string::String, TracesAndStats>) {
self.traces_per_query = v;
}
pub fn mut_traces_per_query(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, TracesAndStats> {
&mut self.traces_per_query
}
pub fn take_traces_per_query(&mut self) -> ::std::collections::HashMap<::std::string::String, TracesAndStats> {
::std::mem::replace(&mut self.traces_per_query, ::std::collections::HashMap::new())
}
pub fn get_end_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.end_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_end_time(&mut self) {
self.end_time.clear();
}
pub fn has_end_time(&self) -> bool {
self.end_time.is_some()
}
pub fn set_end_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.end_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_end_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.end_time.is_none() {
self.end_time.set_default();
}
self.end_time.as_mut().unwrap()
}
pub fn take_end_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.end_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
}
impl ::protobuf::Message for Report {
fn is_initialized(&self) -> bool {
for v in &self.header {
if !v.is_initialized() {
return false;
}
};
for v in &self.end_time {
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 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.header)?;
},
5 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TracesAndStats>>(wire_type, is, &mut self.traces_per_query)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.end_time)?;
},
_ => {
::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 let Some(ref v) = self.header.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TracesAndStats>>(5, &self.traces_per_query);
if let Some(ref v) = self.end_time.as_ref() {
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 let Some(ref v) = self.header.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TracesAndStats>>(5, &self.traces_per_query, os)?;
if let Some(ref v) = self.end_time.as_ref() {
os.write_tag(2, ::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() -> Report {
Report::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ReportHeader>>(
"header",
|m: &Report| { &m.header },
|m: &mut Report| { &mut m.header },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TracesAndStats>>(
"traces_per_query",
|m: &Report| { &m.traces_per_query },
|m: &mut Report| { &mut m.traces_per_query },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"end_time",
|m: &Report| { &m.end_time },
|m: &mut Report| { &mut m.end_time },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Report>(
"Report",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Report {
static instance: ::protobuf::rt::LazyV2<Report> = ::protobuf::rt::LazyV2::INIT;
instance.get(Report::new)
}
}
impl ::protobuf::Clear for Report {
fn clear(&mut self) {
self.header.clear();
self.traces_per_query.clear();
self.end_time.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Report {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Report {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ContextualizedStats {
pub context: ::protobuf::SingularPtrField<StatsContext>,
pub query_latency_stats: ::protobuf::SingularPtrField<QueryLatencyStats>,
pub per_type_stat: ::std::collections::HashMap<::std::string::String, TypeStat>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ContextualizedStats {
fn default() -> &'a ContextualizedStats {
<ContextualizedStats as ::protobuf::Message>::default_instance()
}
}
impl ContextualizedStats {
pub fn new() -> ContextualizedStats {
::std::default::Default::default()
}
pub fn get_context(&self) -> &StatsContext {
self.context.as_ref().unwrap_or_else(|| <StatsContext as ::protobuf::Message>::default_instance())
}
pub fn clear_context(&mut self) {
self.context.clear();
}
pub fn has_context(&self) -> bool {
self.context.is_some()
}
pub fn set_context(&mut self, v: StatsContext) {
self.context = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_context(&mut self) -> &mut StatsContext {
if self.context.is_none() {
self.context.set_default();
}
self.context.as_mut().unwrap()
}
pub fn take_context(&mut self) -> StatsContext {
self.context.take().unwrap_or_else(|| StatsContext::new())
}
pub fn get_query_latency_stats(&self) -> &QueryLatencyStats {
self.query_latency_stats.as_ref().unwrap_or_else(|| <QueryLatencyStats as ::protobuf::Message>::default_instance())
}
pub fn clear_query_latency_stats(&mut self) {
self.query_latency_stats.clear();
}
pub fn has_query_latency_stats(&self) -> bool {
self.query_latency_stats.is_some()
}
pub fn set_query_latency_stats(&mut self, v: QueryLatencyStats) {
self.query_latency_stats = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_query_latency_stats(&mut self) -> &mut QueryLatencyStats {
if self.query_latency_stats.is_none() {
self.query_latency_stats.set_default();
}
self.query_latency_stats.as_mut().unwrap()
}
pub fn take_query_latency_stats(&mut self) -> QueryLatencyStats {
self.query_latency_stats.take().unwrap_or_else(|| QueryLatencyStats::new())
}
pub fn get_per_type_stat(&self) -> &::std::collections::HashMap<::std::string::String, TypeStat> {
&self.per_type_stat
}
pub fn clear_per_type_stat(&mut self) {
self.per_type_stat.clear();
}
pub fn set_per_type_stat(&mut self, v: ::std::collections::HashMap<::std::string::String, TypeStat>) {
self.per_type_stat = v;
}
pub fn mut_per_type_stat(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, TypeStat> {
&mut self.per_type_stat
}
pub fn take_per_type_stat(&mut self) -> ::std::collections::HashMap<::std::string::String, TypeStat> {
::std::mem::replace(&mut self.per_type_stat, ::std::collections::HashMap::new())
}
}
impl ::protobuf::Message for ContextualizedStats {
fn is_initialized(&self) -> bool {
for v in &self.context {
if !v.is_initialized() {
return false;
}
};
for v in &self.query_latency_stats {
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 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.context)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.query_latency_stats)?;
},
3 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(wire_type, is, &mut self.per_type_stat)?;
},
_ => {
::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 let Some(ref v) = self.context.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.query_latency_stats.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(3, &self.per_type_stat);
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 let Some(ref v) = self.context.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.query_latency_stats.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(3, &self.per_type_stat, 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() -> ContextualizedStats {
ContextualizedStats::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<StatsContext>>(
"context",
|m: &ContextualizedStats| { &m.context },
|m: &mut ContextualizedStats| { &mut m.context },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<QueryLatencyStats>>(
"query_latency_stats",
|m: &ContextualizedStats| { &m.query_latency_stats },
|m: &mut ContextualizedStats| { &mut m.query_latency_stats },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TypeStat>>(
"per_type_stat",
|m: &ContextualizedStats| { &m.per_type_stat },
|m: &mut ContextualizedStats| { &mut m.per_type_stat },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<ContextualizedStats>(
"ContextualizedStats",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static ContextualizedStats {
static instance: ::protobuf::rt::LazyV2<ContextualizedStats> = ::protobuf::rt::LazyV2::INIT;
instance.get(ContextualizedStats::new)
}
}
impl ::protobuf::Clear for ContextualizedStats {
fn clear(&mut self) {
self.context.clear();
self.query_latency_stats.clear();
self.per_type_stat.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ContextualizedStats {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ContextualizedStats {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct TracesAndStats {
pub trace: ::protobuf::RepeatedField<Trace>,
pub stats_with_context: ::protobuf::RepeatedField<ContextualizedStats>,
pub internal_traces_contributing_to_stats: ::protobuf::RepeatedField<Trace>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a TracesAndStats {
fn default() -> &'a TracesAndStats {
<TracesAndStats as ::protobuf::Message>::default_instance()
}
}
impl TracesAndStats {
pub fn new() -> TracesAndStats {
::std::default::Default::default()
}
pub fn get_trace(&self) -> &[Trace] {
&self.trace
}
pub fn clear_trace(&mut self) {
self.trace.clear();
}
pub fn set_trace(&mut self, v: ::protobuf::RepeatedField<Trace>) {
self.trace = v;
}
pub fn mut_trace(&mut self) -> &mut ::protobuf::RepeatedField<Trace> {
&mut self.trace
}
pub fn take_trace(&mut self) -> ::protobuf::RepeatedField<Trace> {
::std::mem::replace(&mut self.trace, ::protobuf::RepeatedField::new())
}
pub fn get_stats_with_context(&self) -> &[ContextualizedStats] {
&self.stats_with_context
}
pub fn clear_stats_with_context(&mut self) {
self.stats_with_context.clear();
}
pub fn set_stats_with_context(&mut self, v: ::protobuf::RepeatedField<ContextualizedStats>) {
self.stats_with_context = v;
}
pub fn mut_stats_with_context(&mut self) -> &mut ::protobuf::RepeatedField<ContextualizedStats> {
&mut self.stats_with_context
}
pub fn take_stats_with_context(&mut self) -> ::protobuf::RepeatedField<ContextualizedStats> {
::std::mem::replace(&mut self.stats_with_context, ::protobuf::RepeatedField::new())
}
pub fn get_internal_traces_contributing_to_stats(&self) -> &[Trace] {
&self.internal_traces_contributing_to_stats
}
pub fn clear_internal_traces_contributing_to_stats(&mut self) {
self.internal_traces_contributing_to_stats.clear();
}
pub fn set_internal_traces_contributing_to_stats(&mut self, v: ::protobuf::RepeatedField<Trace>) {
self.internal_traces_contributing_to_stats = v;
}
pub fn mut_internal_traces_contributing_to_stats(&mut self) -> &mut ::protobuf::RepeatedField<Trace> {
&mut self.internal_traces_contributing_to_stats
}
pub fn take_internal_traces_contributing_to_stats(&mut self) -> ::protobuf::RepeatedField<Trace> {
::std::mem::replace(&mut self.internal_traces_contributing_to_stats, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for TracesAndStats {
fn is_initialized(&self) -> bool {
for v in &self.trace {
if !v.is_initialized() {
return false;
}
};
for v in &self.stats_with_context {
if !v.is_initialized() {
return false;
}
};
for v in &self.internal_traces_contributing_to_stats {
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 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.trace)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.stats_with_context)?;
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.internal_traces_contributing_to_stats)?;
},
_ => {
::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;
for value in &self.trace {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.stats_with_context {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.internal_traces_contributing_to_stats {
let len = value.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<()> {
for v in &self.trace {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.stats_with_context {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.internal_traces_contributing_to_stats {
os.write_tag(3, ::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() -> TracesAndStats {
TracesAndStats::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_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace>>(
"trace",
|m: &TracesAndStats| { &m.trace },
|m: &mut TracesAndStats| { &mut m.trace },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ContextualizedStats>>(
"stats_with_context",
|m: &TracesAndStats| { &m.stats_with_context },
|m: &mut TracesAndStats| { &mut m.stats_with_context },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Trace>>(
"internal_traces_contributing_to_stats",
|m: &TracesAndStats| { &m.internal_traces_contributing_to_stats },
|m: &mut TracesAndStats| { &mut m.internal_traces_contributing_to_stats },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<TracesAndStats>(
"TracesAndStats",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static TracesAndStats {
static instance: ::protobuf::rt::LazyV2<TracesAndStats> = ::protobuf::rt::LazyV2::INIT;
instance.get(TracesAndStats::new)
}
}
impl ::protobuf::Clear for TracesAndStats {
fn clear(&mut self) {
self.trace.clear();
self.stats_with_context.clear();
self.internal_traces_contributing_to_stats.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for TracesAndStats {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for TracesAndStats {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x19brevz/apollo/apollo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\
\xcb\x1a\n\x05Trace\x129\n\nstart_time\x18\x04\x20\x01(\x0b2\x1a.google.\
protobuf.TimestampR\tstartTime\x125\n\x08end_time\x18\x03\x20\x01(\x0b2\
\x1a.google.protobuf.TimestampR\x07endTime\x12\x1f\n\x0bduration_ns\x18\
\x0b\x20\x01(\x04R\ndurationNs\x12\x1f\n\x04root\x18\x0e\x20\x01(\x0b2\
\x0b.Trace.NodeR\x04root\x12\x1c\n\tsignature\x18\x13\x20\x01(\tR\tsigna\
ture\x128\n\x17unexecutedOperationBody\x18\x1b\x20\x01(\tR\x17unexecuted\
OperationBody\x128\n\x17unexecutedOperationName\x18\x1c\x20\x01(\tR\x17u\
nexecutedOperationName\x12(\n\x07details\x18\x06\x20\x01(\x0b2\x0e.Trace\
.DetailsR\x07details\x12\x1f\n\x0bclient_name\x18\x07\x20\x01(\tR\nclien\
tName\x12%\n\x0eclient_version\x18\x08\x20\x01(\tR\rclientVersion\x12%\n\
\x0eclient_address\x18\t\x20\x01(\tR\rclientAddress\x12.\n\x13client_ref\
erence_id\x18\x17\x20\x01(\tR\x11clientReferenceId\x12\x1f\n\x04http\x18\
\n\x20\x01(\x0b2\x0b.Trace.HTTPR\x04http\x125\n\x0ccache_policy\x18\x12\
\x20\x01(\x0b2\x12.Trace.CachePolicyR\x0bcachePolicy\x123\n\nquery_plan\
\x18\x1a\x20\x01(\x0b2\x14.Trace.QueryPlanNodeR\tqueryPlan\x12/\n\x14ful\
l_query_cache_hit\x18\x14\x20\x01(\x08R\x11fullQueryCacheHit\x12.\n\x13p\
ersisted_query_hit\x18\x15\x20\x01(\x08R\x11persistedQueryHit\x128\n\x18\
persisted_query_register\x18\x16\x20\x01(\x08R\x16persistedQueryRegister\
\x121\n\x14registered_operation\x18\x18\x20\x01(\x08R\x13registeredOpera\
tion\x12/\n\x13forbidden_operation\x18\x19\x20\x01(\x08R\x12forbiddenOpe\
ration\x1a\x8a\x01\n\x0bCachePolicy\x12.\n\x05scope\x18\x01\x20\x01(\x0e\
2\x18.Trace.CachePolicy.ScopeR\x05scope\x12\x1c\n\nmax_age_ns\x18\x02\
\x20\x01(\x03R\x08maxAgeNs\"-\n\x05Scope\x12\x0b\n\x07UNKNOWN\x10\0\x12\
\n\n\x06PUBLIC\x10\x01\x12\x0b\n\x07PRIVATE\x10\x02\x1a\xbc\x01\n\x07Det\
ails\x12H\n\x0evariables_json\x18\x04\x20\x03(\x0b2!.Trace.Details.Varia\
blesJsonEntryR\rvariablesJson\x12%\n\x0eoperation_name\x18\x03\x20\x01(\
\tR\roperationName\x1a@\n\x12VariablesJsonEntry\x12\x10\n\x03key\x18\x01\
\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x02\
8\x01\x1a{\n\x05Error\x12\x18\n\x07message\x18\x01\x20\x01(\tR\x07messag\
e\x12+\n\x08location\x18\x02\x20\x03(\x0b2\x0f.Trace.LocationR\x08locati\
on\x12\x17\n\x07time_ns\x18\x03\x20\x01(\x04R\x06timeNs\x12\x12\n\x04jso\
n\x18\x04\x20\x01(\tR\x04json\x1a\x8e\x05\n\x04HTTP\x12*\n\x06method\x18\
\x01\x20\x01(\x0e2\x12.Trace.HTTP.MethodR\x06method\x12\x12\n\x04host\
\x18\x02\x20\x01(\tR\x04host\x12\x12\n\x04path\x18\x03\x20\x01(\tR\x04pa\
th\x12H\n\x0frequest_headers\x18\x04\x20\x03(\x0b2\x1f.Trace.HTTP.Reques\
tHeadersEntryR\x0erequestHeaders\x12K\n\x10response_headers\x18\x05\x20\
\x03(\x0b2\x20.Trace.HTTP.ResponseHeadersEntryR\x0fresponseHeaders\x12\
\x1f\n\x0bstatus_code\x18\x06\x20\x01(\rR\nstatusCode\x12\x16\n\x06secur\
e\x18\x08\x20\x01(\x08R\x06secure\x12\x1a\n\x08protocol\x18\t\x20\x01(\t\
R\x08protocol\x1a\x1e\n\x06Values\x12\x14\n\x05value\x18\x01\x20\x03(\tR\
\x05value\x1aU\n\x13RequestHeadersEntry\x12\x10\n\x03key\x18\x01\x20\x01\
(\tR\x03key\x12(\n\x05value\x18\x02\x20\x01(\x0b2\x12.Trace.HTTP.ValuesR\
\x05value:\x028\x01\x1aV\n\x14ResponseHeadersEntry\x12\x10\n\x03key\x18\
\x01\x20\x01(\tR\x03key\x12(\n\x05value\x18\x02\x20\x01(\x0b2\x12.Trace.\
HTTP.ValuesR\x05value:\x028\x01\"w\n\x06Method\x12\x0b\n\x07UNKNOWN\x10\
\0\x12\x0b\n\x07OPTIONS\x10\x01\x12\x07\n\x03GET\x10\x02\x12\x08\n\x04HE\
AD\x10\x03\x12\x08\n\x04POST\x10\x04\x12\x07\n\x03PUT\x10\x05\x12\n\n\
\x06DELETE\x10\x06\x12\t\n\x05TRACE\x10\x07\x12\x0b\n\x07CONNECT\x10\x08\
\x12\t\n\x05PATCH\x10\t\x1a6\n\x08Location\x12\x12\n\x04line\x18\x01\x20\
\x01(\rR\x04line\x12\x16\n\x06column\x18\x02\x20\x01(\rR\x06column\x1a\
\xee\x02\n\x04Node\x12%\n\rresponse_name\x18\x01\x20\x01(\tH\0R\x0crespo\
nseName\x12\x16\n\x05index\x18\x02\x20\x01(\rH\0R\x05index\x12.\n\x13ori\
ginal_field_name\x18\x0e\x20\x01(\tR\x11originalFieldName\x12\x12\n\x04t\
ype\x18\x03\x20\x01(\tR\x04type\x12\x1f\n\x0bparent_type\x18\r\x20\x01(\
\tR\nparentType\x125\n\x0ccache_policy\x18\x05\x20\x01(\x0b2\x12.Trace.C\
achePolicyR\x0bcachePolicy\x12\x1d\n\nstart_time\x18\x08\x20\x01(\x04R\t\
startTime\x12\x19\n\x08end_time\x18\t\x20\x01(\x04R\x07endTime\x12\"\n\
\x05error\x18\x0b\x20\x03(\x0b2\x0c.Trace.ErrorR\x05error\x12!\n\x05chil\
d\x18\x0c\x20\x03(\x0b2\x0b.Trace.NodeR\x05childB\x04\n\x02idJ\x04\x08\
\x04\x10\x05\x1a\x8b\x07\n\rQueryPlanNode\x12?\n\x08sequence\x18\x01\x20\
\x01(\x0b2!.Trace.QueryPlanNode.SequenceNodeH\0R\x08sequence\x12?\n\x08p\
arallel\x18\x02\x20\x01(\x0b2!.Trace.QueryPlanNode.ParallelNodeH\0R\x08p\
arallel\x126\n\x05fetch\x18\x03\x20\x01(\x0b2\x1e.Trace.QueryPlanNode.Fe\
tchNodeH\0R\x05fetch\x12<\n\x07flatten\x18\x04\x20\x01(\x0b2\x20.Trace.Q\
ueryPlanNode.FlattenNodeH\0R\x07flatten\x1a:\n\x0cSequenceNode\x12*\n\
\x05nodes\x18\x01\x20\x03(\x0b2\x14.Trace.QueryPlanNodeR\x05nodes\x1a:\n\
\x0cParallelNode\x12*\n\x05nodes\x18\x01\x20\x03(\x0b2\x14.Trace.QueryPl\
anNodeR\x05nodes\x1a\xa2\x02\n\tFetchNode\x12!\n\x0cservice_name\x18\x01\
\x20\x01(\tR\x0bserviceName\x120\n\x14trace_parsing_failed\x18\x02\x20\
\x01(\x08R\x12traceParsingFailed\x12\x1c\n\x05trace\x18\x03\x20\x01(\x0b\
2\x06.TraceR\x05trace\x12(\n\x10sent_time_offset\x18\x04\x20\x01(\x04R\
\x0esentTimeOffset\x127\n\tsent_time\x18\x05\x20\x01(\x0b2\x1a.google.pr\
otobuf.TimestampR\x08sentTime\x12?\n\rreceived_time\x18\x06\x20\x01(\x0b\
2\x1a.google.protobuf.TimestampR\x0creceivedTime\x1a\x86\x01\n\x0bFlatte\
nNode\x12M\n\rresponse_path\x18\x01\x20\x03(\x0b2(.Trace.QueryPlanNode.R\
esponsePathElementR\x0cresponsePath\x12(\n\x04node\x18\x02\x20\x01(\x0b2\
\x14.Trace.QueryPlanNodeR\x04node\x1aT\n\x13ResponsePathElement\x12\x1f\
\n\nfield_name\x18\x01\x20\x01(\tH\0R\tfieldName\x12\x16\n\x05index\x18\
\x02\x20\x01(\rH\0R\x05indexB\x04\n\x02idB\x06\n\x04nodeJ\x04\x08\x0c\
\x10\rJ\x04\x08\r\x10\x0eJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\
\x8c\x02\n\x0cReportHeader\x12\x1b\n\tgraph_ref\x18\x0c\x20\x01(\tR\x08g\
raphRef\x12\x1a\n\x08hostname\x18\x05\x20\x01(\tR\x08hostname\x12#\n\rag\
ent_version\x18\x06\x20\x01(\tR\x0cagentVersion\x12'\n\x0fservice_versio\
n\x18\x07\x20\x01(\tR\x0eserviceVersion\x12'\n\x0fruntime_version\x18\
\x08\x20\x01(\tR\x0eruntimeVersion\x12\x14\n\x05uname\x18\t\x20\x01(\tR\
\x05uname\x120\n\x14executable_schema_id\x18\x0b\x20\x01(\tR\x12executab\
leSchemaIdJ\x04\x08\x03\x10\x04\"\xf9\x01\n\x0ePathErrorStats\x129\n\x08\
children\x18\x01\x20\x03(\x0b2\x1d.PathErrorStats.ChildrenEntryR\x08chil\
dren\x12!\n\x0cerrors_count\x18\x04\x20\x01(\x04R\x0berrorsCount\x12;\n\
\x1arequests_with_errors_count\x18\x05\x20\x01(\x04R\x17requestsWithErro\
rsCount\x1aL\n\rChildrenEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03ke\
y\x12%\n\x05value\x18\x02\x20\x01(\x0b2\x0f.PathErrorStatsR\x05value:\
\x028\x01\"\x8a\x05\n\x11QueryLatencyStats\x12#\n\rlatency_count\x18\r\
\x20\x03(\x12R\x0clatencyCount\x12#\n\rrequest_count\x18\x02\x20\x01(\
\x04R\x0crequestCount\x12\x1d\n\ncache_hits\x18\x03\x20\x01(\x04R\tcache\
Hits\x120\n\x14persisted_query_hits\x18\x04\x20\x01(\x04R\x12persistedQu\
eryHits\x124\n\x16persisted_query_misses\x18\x05\x20\x01(\x04R\x14persis\
tedQueryMisses\x12.\n\x13cache_latency_count\x18\x0e\x20\x03(\x12R\x11ca\
cheLatencyCount\x129\n\x10root_error_stats\x18\x07\x20\x01(\x0b2\x0f.Pat\
hErrorStatsR\x0erootErrorStats\x12;\n\x1arequests_with_errors_count\x18\
\x08\x20\x01(\x04R\x17requestsWithErrorsCount\x123\n\x16public_cache_ttl\
_count\x18\x0f\x20\x03(\x12R\x13publicCacheTtlCount\x125\n\x17private_ca\
che_ttl_count\x18\x10\x20\x03(\x12R\x14privateCacheTtlCount\x12<\n\x1are\
gistered_operation_count\x18\x0b\x20\x01(\x04R\x18registeredOperationCou\
nt\x12:\n\x19forbidden_operation_count\x18\x0c\x20\x01(\x04R\x17forbidde\
nOperationCountJ\x04\x08\x01\x10\x02J\x04\x08\x06\x10\x07J\x04\x08\t\x10\
\nJ\x04\x08\n\x10\x0b\"\x86\x01\n\x0cStatsContext\x12.\n\x13client_refer\
ence_id\x18\x01\x20\x01(\tR\x11clientReferenceId\x12\x1f\n\x0bclient_nam\
e\x18\x02\x20\x01(\tR\nclientName\x12%\n\x0eclient_version\x18\x03\x20\
\x01(\tR\rclientVersion\"\x8e\x01\n\x1fContextualizedQueryLatencyStats\
\x12B\n\x13query_latency_stats\x18\x01\x20\x01(\x0b2\x12.QueryLatencySta\
tsR\x11queryLatencyStats\x12'\n\x07context\x18\x02\x20\x01(\x0b2\r.Stats\
ContextR\x07context\"\xdc\x01\n\x17ContextualizedTypeStats\x12'\n\x07con\
text\x18\x01\x20\x01(\x0b2\r.StatsContextR\x07context\x12M\n\rper_type_s\
tat\x18\x02\x20\x03(\x0b2).ContextualizedTypeStats.PerTypeStatEntryR\x0b\
perTypeStat\x1aI\n\x10PerTypeStatEntry\x12\x10\n\x03key\x18\x01\x20\x01(\
\tR\x03key\x12\x1f\n\x05value\x18\x02\x20\x01(\x0b2\t.TypeStatR\x05value\
:\x028\x01\"\xdf\x01\n\tFieldStat\x12\x1f\n\x0breturn_type\x18\x03\x20\
\x01(\tR\nreturnType\x12!\n\x0cerrors_count\x18\x04\x20\x01(\x04R\x0berr\
orsCount\x12\x14\n\x05count\x18\x05\x20\x01(\x04R\x05count\x12;\n\x1areq\
uests_with_errors_count\x18\x06\x20\x01(\x04R\x17requestsWithErrorsCount\
\x12#\n\rlatency_count\x18\t\x20\x03(\x12R\x0clatencyCountJ\x04\x08\x01\
\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\t\"\
\xa6\x01\n\x08TypeStat\x12A\n\x0eper_field_stat\x18\x03\x20\x03(\x0b2\
\x1b.TypeStat.PerFieldStatEntryR\x0cperFieldStat\x1aK\n\x11PerFieldStatE\
ntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x20\n\x05value\x18\
\x02\x20\x01(\x0b2\n.FieldStatR\x05value:\x028\x01J\x04\x08\x01\x10\x02J\
\x04\x08\x02\x10\x03\"<\n\x05Field\x12\x12\n\x04name\x18\x02\x20\x01(\tR\
\x04name\x12\x1f\n\x0breturn_type\x18\x03\x20\x01(\tR\nreturnType\"8\n\
\x04Type\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x1c\n\x05fiel\
d\x18\x02\x20\x03(\x0b2\x06.FieldR\x05field\"\x81\x02\n\x06Report\x12%\n\
\x06header\x18\x01\x20\x01(\x0b2\r.ReportHeaderR\x06header\x12E\n\x10tra\
ces_per_query\x18\x05\x20\x03(\x0b2\x1b.Report.TracesPerQueryEntryR\x0et\
racesPerQuery\x125\n\x08end_time\x18\x02\x20\x01(\x0b2\x1a.google.protob\
uf.TimestampR\x07endTime\x1aR\n\x13TracesPerQueryEntry\x12\x10\n\x03key\
\x18\x01\x20\x01(\tR\x03key\x12%\n\x05value\x18\x02\x20\x01(\x0b2\x0f.Tr\
acesAndStatsR\x05value:\x028\x01\"\x98\x02\n\x13ContextualizedStats\x12'\
\n\x07context\x18\x01\x20\x01(\x0b2\r.StatsContextR\x07context\x12B\n\
\x13query_latency_stats\x18\x02\x20\x01(\x0b2\x12.QueryLatencyStatsR\x11\
queryLatencyStats\x12I\n\rper_type_stat\x18\x03\x20\x03(\x0b2%.Contextua\
lizedStats.PerTypeStatEntryR\x0bperTypeStat\x1aI\n\x10PerTypeStatEntry\
\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x1f\n\x05value\x18\x02\
\x20\x01(\x0b2\t.TypeStatR\x05value:\x028\x01\"\xcc\x01\n\x0eTracesAndSt\
ats\x12\x1c\n\x05trace\x18\x01\x20\x03(\x0b2\x06.TraceR\x05trace\x12B\n\
\x12stats_with_context\x18\x02\x20\x03(\x0b2\x14.ContextualizedStatsR\
\x10statsWithContext\x12X\n%internal_traces_contributing_to_stats\x18\
\x03\x20\x03(\x0b2\x06.TraceR!internalTracesContributingToStatsJ\xfd\x8f\
\x01\n\x07\x12\x05\0\0\x80\x03\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\t\n\
\x02\x03\0\x12\x03\x03\0)\n\x0b\n\x02\x04\0\x12\x05\x05\0\xf3\x01\x01\n\
\n\n\x03\x04\0\x01\x12\x03\x05\x08\r\n\x0c\n\x04\x04\0\x03\0\x12\x04\x06\
\x02\x0f\x03\n\x0c\n\x05\x04\0\x03\0\x01\x12\x03\x06\n\x15\n\x0e\n\x06\
\x04\0\x03\0\x04\0\x12\x04\x07\x04\x0b\x05\n\x0e\n\x07\x04\0\x03\0\x04\0\
\x01\x12\x03\x07\t\x0e\n\x0f\n\x08\x04\0\x03\0\x04\0\x02\0\x12\x03\x08\
\x06\x12\n\x10\n\t\x04\0\x03\0\x04\0\x02\0\x01\x12\x03\x08\x06\r\n\x10\n\
\t\x04\0\x03\0\x04\0\x02\0\x02\x12\x03\x08\x10\x11\n\x0f\n\x08\x04\0\x03\
\0\x04\0\x02\x01\x12\x03\t\x06\x11\n\x10\n\t\x04\0\x03\0\x04\0\x02\x01\
\x01\x12\x03\t\x06\x0c\n\x10\n\t\x04\0\x03\0\x04\0\x02\x01\x02\x12\x03\t\
\x0f\x10\n\x0f\n\x08\x04\0\x03\0\x04\0\x02\x02\x12\x03\n\x06\x12\n\x10\n\
\t\x04\0\x03\0\x04\0\x02\x02\x01\x12\x03\n\x06\r\n\x10\n\t\x04\0\x03\0\
\x04\0\x02\x02\x02\x12\x03\n\x10\x11\n\r\n\x06\x04\0\x03\0\x02\0\x12\x03\
\r\x04\x14\n\x0e\n\x07\x04\0\x03\0\x02\0\x06\x12\x03\r\x04\t\n\x0e\n\x07\
\x04\0\x03\0\x02\0\x01\x12\x03\r\n\x0f\n\x0e\n\x07\x04\0\x03\0\x02\0\x03\
\x12\x03\r\x12\x13\n+\n\x06\x04\0\x03\0\x02\x01\x12\x03\x0e\x04\x19\"\
\x1c\x20use\x200\x20for\x20absent,\x20-1\x20for\x200\n\n\x0e\n\x07\x04\0\
\x03\0\x02\x01\x05\x12\x03\x0e\x04\t\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\
\x12\x03\x0e\n\x14\n\x0e\n\x07\x04\0\x03\0\x02\x01\x03\x12\x03\x0e\x17\
\x18\n\x0c\n\x04\x04\0\x03\x01\x12\x04\x11\x02\x1d\x03\n\x0c\n\x05\x04\0\
\x03\x01\x01\x12\x03\x11\n\x11\n\xf9\x01\n\x06\x04\0\x03\x01\x02\0\x12\
\x03\x16\x04+\x1a\xe9\x01\x20The\x20variables\x20associated\x20with\x20t\
his\x20query\x20(unless\x20the\x20reporting\x20agent\x20is\n\x20configur\
ed\x20to\x20keep\x20them\x20all\x20private).\x20Values\x20are\x20JSON:\
\x20ie,\x20strings\x20are\n\x20enclosed\x20in\x20double\x20quotes,\x20et\
c.\x20\x20The\x20value\x20of\x20a\x20private\x20variable\x20is\n\x20the\
\x20empty\x20string.\n\n\x0e\n\x07\x04\0\x03\x01\x02\0\x06\x12\x03\x16\
\x04\x17\n\x0e\n\x07\x04\0\x03\x01\x02\0\x01\x12\x03\x16\x18&\n\x0e\n\
\x07\x04\0\x03\x01\x02\0\x03\x12\x03\x16)*\n\xd8\x01\n\x06\x04\0\x03\x01\
\x02\x01\x12\x03\x1c\x04\x1e\x1a\xc8\x01\x20This\x20is\x20deprecated\x20\
and\x20only\x20used\x20for\x20legacy\x20applications\n\x20don't\x20inclu\
de\x20this\x20in\x20traces\x20inside\x20a\x20FullTracesReport;\x20the\
\x20operation\n\x20name\x20for\x20these\x20traces\x20comes\x20from\x20th\
e\x20key\x20of\x20the\x20traces_per_query\x20map.\n\n\x0e\n\x07\x04\0\
\x03\x01\x02\x01\x05\x12\x03\x1c\x04\n\n\x0e\n\x07\x04\0\x03\x01\x02\x01\
\x01\x12\x03\x1c\x0b\x19\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x03\x12\x03\
\x1c\x1c\x1d\n\x0c\n\x04\x04\0\x03\x02\x12\x04\x1f\x02$\x03\n\x0c\n\x05\
\x04\0\x03\x02\x01\x12\x03\x1f\n\x0f\n\x19\n\x06\x04\0\x03\x02\x02\0\x12\
\x03\x20\x04\x17\"\n\x20required\n\n\x0e\n\x07\x04\0\x03\x02\x02\0\x05\
\x12\x03\x20\x04\n\n\x0e\n\x07\x04\0\x03\x02\x02\0\x01\x12\x03\x20\x0b\
\x12\n\x0e\n\x07\x04\0\x03\x02\x02\0\x03\x12\x03\x20\x15\x16\n\r\n\x06\
\x04\0\x03\x02\x02\x01\x12\x03!\x04#\n\x0e\n\x07\x04\0\x03\x02\x02\x01\
\x04\x12\x03!\x04\x0c\n\x0e\n\x07\x04\0\x03\x02\x02\x01\x06\x12\x03!\r\
\x15\n\x0e\n\x07\x04\0\x03\x02\x02\x01\x01\x12\x03!\x16\x1e\n\x0e\n\x07\
\x04\0\x03\x02\x02\x01\x03\x12\x03!!\"\n\r\n\x06\x04\0\x03\x02\x02\x02\
\x12\x03\"\x04\x17\n\x0e\n\x07\x04\0\x03\x02\x02\x02\x05\x12\x03\"\x04\n\
\n\x0e\n\x07\x04\0\x03\x02\x02\x02\x01\x12\x03\"\x0b\x12\n\x0e\n\x07\x04\
\0\x03\x02\x02\x02\x03\x12\x03\"\x15\x16\n\r\n\x06\x04\0\x03\x02\x02\x03\
\x12\x03#\x04\x14\n\x0e\n\x07\x04\0\x03\x02\x02\x03\x05\x12\x03#\x04\n\n\
\x0e\n\x07\x04\0\x03\x02\x02\x03\x01\x12\x03#\x0b\x0f\n\x0e\n\x07\x04\0\
\x03\x02\x02\x03\x03\x12\x03#\x12\x13\n\x0c\n\x04\x04\0\x03\x03\x12\x04&\
\x02C\x03\n\x0c\n\x05\x04\0\x03\x03\x01\x12\x03&\n\x0e\n\x0e\n\x06\x04\0\
\x03\x03\x03\0\x12\x04'\x04)\x05\n\x0e\n\x07\x04\0\x03\x03\x03\0\x01\x12\
\x03'\x0c\x12\n\x0f\n\x08\x04\0\x03\x03\x03\0\x02\0\x12\x03(\x06\x20\n\
\x10\n\t\x04\0\x03\x03\x03\0\x02\0\x04\x12\x03(\x06\x0e\n\x10\n\t\x04\0\
\x03\x03\x03\0\x02\0\x05\x12\x03(\x0f\x15\n\x10\n\t\x04\0\x03\x03\x03\0\
\x02\0\x01\x12\x03(\x16\x1b\n\x10\n\t\x04\0\x03\x03\x03\0\x02\0\x03\x12\
\x03(\x1e\x1f\n\x0e\n\x06\x04\0\x03\x03\x04\0\x12\x04+\x046\x05\n\x0e\n\
\x07\x04\0\x03\x03\x04\0\x01\x12\x03+\t\x0f\n\x0f\n\x08\x04\0\x03\x03\
\x04\0\x02\0\x12\x03,\x06\x12\n\x10\n\t\x04\0\x03\x03\x04\0\x02\0\x01\
\x12\x03,\x06\r\n\x10\n\t\x04\0\x03\x03\x04\0\x02\0\x02\x12\x03,\x10\x11\
\n\x0f\n\x08\x04\0\x03\x03\x04\0\x02\x01\x12\x03-\x06\x12\n\x10\n\t\x04\
\0\x03\x03\x04\0\x02\x01\x01\x12\x03-\x06\r\n\x10\n\t\x04\0\x03\x03\x04\
\0\x02\x01\x02\x12\x03-\x10\x11\n\x0f\n\x08\x04\0\x03\x03\x04\0\x02\x02\
\x12\x03.\x06\x0e\n\x10\n\t\x04\0\x03\x03\x04\0\x02\x02\x01\x12\x03.\x06\
\t\n\x10\n\t\x04\0\x03\x03\x04\0\x02\x02\x02\x12\x03.\x0c\r\n\x0f\n\x08\
\x04\0\x03\x03\x04\0\x02\x03\x12\x03/\x06\x0f\n\x10\n\t\x04\0\x03\x03\
\x04\0\x02\x03\x01\x12\x03/\x06\n\n\x10\n\t\x04\0\x03\x03\x04\0\x02\x03\
\x02\x12\x03/\r\x0e\n\x0f\n\x08\x04\0\x03\x03\x04\0\x02\x04\x12\x030\x06\
\x0f\n\x10\n\t\x04\0\x03\x03\x04\0\x02\x04\x01\x12\x030\x06\n\n\x10\n\t\
\x04\0\x03\x03\x04\0\x02\x04\x02\x12\x030\r\x0e\n\x0f\n\x08\x04\0\x03\
\x03\x04\0\x02\x05\x12\x031\x06\x0e\n\x10\n\t\x04\0\x03\x03\x04\0\x02\
\x05\x01\x12\x031\x06\t\n\x10\n\t\x04\0\x03\x03\x04\0\x02\x05\x02\x12\
\x031\x0c\r\n\x0f\n\x08\x04\0\x03\x03\x04\0\x02\x06\x12\x032\x06\x11\n\
\x10\n\t\x04\0\x03\x03\x04\0\x02\x06\x01\x12\x032\x06\x0c\n\x10\n\t\x04\
\0\x03\x03\x04\0\x02\x06\x02\x12\x032\x0f\x10\n\x0f\n\x08\x04\0\x03\x03\
\x04\0\x02\x07\x12\x033\x06\x10\n\x10\n\t\x04\0\x03\x03\x04\0\x02\x07\
\x01\x12\x033\x06\x0b\n\x10\n\t\x04\0\x03\x03\x04\0\x02\x07\x02\x12\x033\
\x0e\x0f\n\x0f\n\x08\x04\0\x03\x03\x04\0\x02\x08\x12\x034\x06\x12\n\x10\
\n\t\x04\0\x03\x03\x04\0\x02\x08\x01\x12\x034\x06\r\n\x10\n\t\x04\0\x03\
\x03\x04\0\x02\x08\x02\x12\x034\x10\x11\n\x0f\n\x08\x04\0\x03\x03\x04\0\
\x02\t\x12\x035\x06\x10\n\x10\n\t\x04\0\x03\x03\x04\0\x02\t\x01\x12\x035\
\x06\x0b\n\x10\n\t\x04\0\x03\x03\x04\0\x02\t\x02\x12\x035\x0e\x0f\n\r\n\
\x06\x04\0\x03\x03\x02\0\x12\x037\x04\x16\n\x0e\n\x07\x04\0\x03\x03\x02\
\0\x06\x12\x037\x04\n\n\x0e\n\x07\x04\0\x03\x03\x02\0\x01\x12\x037\x0b\
\x11\n\x0e\n\x07\x04\0\x03\x03\x02\0\x03\x12\x037\x14\x15\n\r\n\x06\x04\
\0\x03\x03\x02\x01\x12\x038\x04\x14\n\x0e\n\x07\x04\0\x03\x03\x02\x01\
\x05\x12\x038\x04\n\n\x0e\n\x07\x04\0\x03\x03\x02\x01\x01\x12\x038\x0b\
\x0f\n\x0e\n\x07\x04\0\x03\x03\x02\x01\x03\x12\x038\x12\x13\n\r\n\x06\
\x04\0\x03\x03\x02\x02\x12\x039\x04\x14\n\x0e\n\x07\x04\0\x03\x03\x02\
\x02\x05\x12\x039\x04\n\n\x0e\n\x07\x04\0\x03\x03\x02\x02\x01\x12\x039\
\x0b\x0f\n\x0e\n\x07\x04\0\x03\x03\x02\x02\x03\x12\x039\x12\x13\nD\n\x06\
\x04\0\x03\x03\x02\x03\x12\x03<\x04,\x1a5\x20Should\x20exclude\x20manual\
\x20blacklist\x20(\"Auth\"\x20by\x20default)\n\n\x0e\n\x07\x04\0\x03\x03\
\x02\x03\x06\x12\x03<\x04\x17\n\x0e\n\x07\x04\0\x03\x03\x02\x03\x01\x12\
\x03<\x18'\n\x0e\n\x07\x04\0\x03\x03\x02\x03\x03\x12\x03<*+\n\r\n\x06\
\x04\0\x03\x03\x02\x04\x12\x03=\x04-\n\x0e\n\x07\x04\0\x03\x03\x02\x04\
\x06\x12\x03=\x04\x17\n\x0e\n\x07\x04\0\x03\x03\x02\x04\x01\x12\x03=\x18\
(\n\x0e\n\x07\x04\0\x03\x03\x02\x04\x03\x12\x03=+,\n\r\n\x06\x04\0\x03\
\x03\x02\x05\x12\x03?\x04\x1b\n\x0e\n\x07\x04\0\x03\x03\x02\x05\x05\x12\
\x03?\x04\n\n\x0e\n\x07\x04\0\x03\x03\x02\x05\x01\x12\x03?\x0b\x16\n\x0e\
\n\x07\x04\0\x03\x03\x02\x05\x03\x12\x03?\x19\x1a\n\x1d\n\x06\x04\0\x03\
\x03\x02\x06\x12\x03A\x04\x14\"\x0e\x20TLS\x20was\x20used\n\n\x0e\n\x07\
\x04\0\x03\x03\x02\x06\x05\x12\x03A\x04\x08\n\x0e\n\x07\x04\0\x03\x03\
\x02\x06\x01\x12\x03A\t\x0f\n\x0e\n\x07\x04\0\x03\x03\x02\x06\x03\x12\
\x03A\x12\x13\nG\n\x06\x04\0\x03\x03\x02\x07\x12\x03B\x04\x18\"8\x20by\
\x20convention\x20\"HTTP/1.0\",\x20\"HTTP/1.1\",\x20\"HTTP/2\"\x20or\x20\
\"h2\"\n\n\x0e\n\x07\x04\0\x03\x03\x02\x07\x05\x12\x03B\x04\n\n\x0e\n\
\x07\x04\0\x03\x03\x02\x07\x01\x12\x03B\x0b\x13\n\x0e\n\x07\x04\0\x03\
\x03\x02\x07\x03\x12\x03B\x16\x17\n\x0c\n\x04\x04\0\x03\x04\x12\x04E\x02\
H\x03\n\x0c\n\x05\x04\0\x03\x04\x01\x12\x03E\n\x12\n\r\n\x06\x04\0\x03\
\x04\x02\0\x12\x03F\x04\x14\n\x0e\n\x07\x04\0\x03\x04\x02\0\x05\x12\x03F\
\x04\n\n\x0e\n\x07\x04\0\x03\x04\x02\0\x01\x12\x03F\x0b\x0f\n\x0e\n\x07\
\x04\0\x03\x04\x02\0\x03\x12\x03F\x12\x13\n\r\n\x06\x04\0\x03\x04\x02\
\x01\x12\x03G\x04\x16\n\x0e\n\x07\x04\0\x03\x04\x02\x01\x05\x12\x03G\x04\
\n\n\x0e\n\x07\x04\0\x03\x04\x02\x01\x01\x12\x03G\x0b\x11\n\x0e\n\x07\
\x04\0\x03\x04\x02\x01\x03\x12\x03G\x14\x15\n\xd7\x02\n\x04\x04\0\x03\
\x05\x12\x04O\x02o\x03\x1a\xc8\x02\x20We\x20store\x20information\x20on\
\x20each\x20resolver\x20execution\x20as\x20a\x20Node\x20on\x20a\x20tree.\
\n\x20The\x20structure\x20of\x20the\x20tree\x20corresponds\x20to\x20the\
\x20structure\x20of\x20the\x20GraphQL\n\x20response;\x20it\x20does\x20no\
t\x20indicate\x20the\x20order\x20in\x20which\x20resolvers\x20were\n\x20i\
nvoked.\x20\x20Note\x20that\x20nodes\x20representing\x20indexes\x20(and\
\x20the\x20root\x20node)\n\x20don't\x20contain\x20all\x20Node\x20fields\
\x20(eg\x20types\x20and\x20times).\n\n\x0c\n\x05\x04\0\x03\x05\x01\x12\
\x03O\n\x0e\n\xd4\x03\n\x06\x04\0\x03\x05\x08\0\x12\x04W\x04Z\x05\x1a\
\xc3\x03\x20The\x20name\x20of\x20the\x20field\x20(for\x20Nodes\x20repres\
enting\x20a\x20resolver\x20call)\x20or\x20the\n\x20index\x20in\x20a\x20l\
ist\x20(for\x20intermediate\x20Nodes\x20representing\x20elements\x20of\
\x20a\x20list).\n\x20field_name\x20is\x20the\x20name\x20of\x20the\x20fie\
ld\x20as\x20it\x20appears\x20in\x20the\x20GraphQL\n\x20response:\x20ie,\
\x20it\x20may\x20be\x20an\x20alias.\x20\x20(In\x20that\x20case,\x20the\
\x20original_field_name\n\x20field\x20holds\x20the\x20actual\x20field\
\x20name\x20from\x20the\x20schema.)\x20In\x20any\x20context\x20where\n\
\x20we're\x20building\x20up\x20a\x20path,\x20we\x20use\x20the\x20respons\
e_name\x20rather\x20than\x20the\n\x20original_field_name.\n\n\x0e\n\x07\
\x04\0\x03\x05\x08\0\x01\x12\x03W\n\x0c\n\r\n\x06\x04\0\x03\x05\x02\0\
\x12\x03X\x06\x1f\n\x0e\n\x07\x04\0\x03\x05\x02\0\x05\x12\x03X\x06\x0c\n\
\x0e\n\x07\x04\0\x03\x05\x02\0\x01\x12\x03X\r\x1a\n\x0e\n\x07\x04\0\x03\
\x05\x02\0\x03\x12\x03X\x1d\x1e\n\r\n\x06\x04\0\x03\x05\x02\x01\x12\x03Y\
\x06\x17\n\x0e\n\x07\x04\0\x03\x05\x02\x01\x05\x12\x03Y\x06\x0c\n\x0e\n\
\x07\x04\0\x03\x05\x02\x01\x01\x12\x03Y\r\x12\n\x0e\n\x07\x04\0\x03\x05\
\x02\x01\x03\x12\x03Y\x15\x16\n\r\n\x06\x04\0\x03\x05\x02\x02\x12\x03\\\
\x04$\n\x0e\n\x07\x04\0\x03\x05\x02\x02\x05\x12\x03\\\x04\n\n\x0e\n\x07\
\x04\0\x03\x05\x02\x02\x01\x12\x03\\\x0b\x1e\n\x0e\n\x07\x04\0\x03\x05\
\x02\x02\x03\x12\x03\\!#\nO\n\x06\x04\0\x03\x05\x02\x03\x12\x03_\x04\x14\
\x1a@\x20The\x20field's\x20return\x20type;\x20e.g.\x20\"String!\"\x20for\
\x20User.email:String!\n\n\x0e\n\x07\x04\0\x03\x05\x02\x03\x05\x12\x03_\
\x04\n\n\x0e\n\x07\x04\0\x03\x05\x02\x03\x01\x12\x03_\x0b\x0f\n\x0e\n\
\x07\x04\0\x03\x05\x02\x03\x03\x12\x03_\x12\x13\nL\n\x06\x04\0\x03\x05\
\x02\x04\x12\x03b\x04\x1c\x1a=\x20The\x20field's\x20parent\x20type;\x20e\
.g.\x20\"User\"\x20for\x20User.email:String!\n\n\x0e\n\x07\x04\0\x03\x05\
\x02\x04\x05\x12\x03b\x04\n\n\x0e\n\x07\x04\0\x03\x05\x02\x04\x01\x12\
\x03b\x0b\x16\n\x0e\n\x07\x04\0\x03\x05\x02\x04\x03\x12\x03b\x19\x1b\n\r\
\n\x06\x04\0\x03\x05\x02\x05\x12\x03d\x04!\n\x0e\n\x07\x04\0\x03\x05\x02\
\x05\x06\x12\x03d\x04\x0f\n\x0e\n\x07\x04\0\x03\x05\x02\x05\x01\x12\x03d\
\x10\x1c\n\x0e\n\x07\x04\0\x03\x05\x02\x05\x03\x12\x03d\x1f\x20\n:\n\x06\
\x04\0\x03\x05\x02\x06\x12\x03g\x04\x1a\x1a+\x20relative\x20to\x20the\
\x20trace's\x20start_time,\x20in\x20ns\n\n\x0e\n\x07\x04\0\x03\x05\x02\
\x06\x05\x12\x03g\x04\n\n\x0e\n\x07\x04\0\x03\x05\x02\x06\x01\x12\x03g\
\x0b\x15\n\x0e\n\x07\x04\0\x03\x05\x02\x06\x03\x12\x03g\x18\x19\n:\n\x06\
\x04\0\x03\x05\x02\x07\x12\x03i\x04\x18\x1a+\x20relative\x20to\x20the\
\x20trace's\x20start_time,\x20in\x20ns\n\n\x0e\n\x07\x04\0\x03\x05\x02\
\x07\x05\x12\x03i\x04\n\n\x0e\n\x07\x04\0\x03\x05\x02\x07\x01\x12\x03i\
\x0b\x13\n\x0e\n\x07\x04\0\x03\x05\x02\x07\x03\x12\x03i\x16\x17\n\r\n\
\x06\x04\0\x03\x05\x02\x08\x12\x03k\x04\x1e\n\x0e\n\x07\x04\0\x03\x05\
\x02\x08\x04\x12\x03k\x04\x0c\n\x0e\n\x07\x04\0\x03\x05\x02\x08\x06\x12\
\x03k\r\x12\n\x0e\n\x07\x04\0\x03\x05\x02\x08\x01\x12\x03k\x13\x18\n\x0e\
\n\x07\x04\0\x03\x05\x02\x08\x03\x12\x03k\x1b\x1d\n\r\n\x06\x04\0\x03\
\x05\x02\t\x12\x03l\x04\x1d\n\x0e\n\x07\x04\0\x03\x05\x02\t\x04\x12\x03l\
\x04\x0c\n\x0e\n\x07\x04\0\x03\x05\x02\t\x06\x12\x03l\r\x11\n\x0e\n\x07\
\x04\0\x03\x05\x02\t\x01\x12\x03l\x12\x17\n\x0e\n\x07\x04\0\x03\x05\x02\
\t\x03\x12\x03l\x1a\x1c\n\x0c\n\x05\x04\0\x03\x05\t\x12\x03n\x04\x0f\n\r\
\n\x06\x04\0\x03\x05\t\0\x12\x03n\r\x0e\n\x0e\n\x07\x04\0\x03\x05\t\0\
\x01\x12\x03n\r\x0e\n\x0e\n\x07\x04\0\x03\x05\t\0\x02\x12\x03n\r\x0e\n\
\xfe\x02\n\x04\x04\0\x03\x06\x12\x05u\x02\xa7\x01\x03\x1a\xee\x02\x20rep\
resents\x20a\x20node\x20in\x20the\x20query\x20plan,\x20under\x20which\
\x20there\x20is\x20a\x20trace\x20tree\x20for\x20that\x20service\x20fetch\
.\n\x20In\x20particular,\x20each\x20fetch\x20node\x20represents\x20a\x20\
call\x20to\x20an\x20implementing\x20service,\x20and\x20calls\x20to\x20im\
plementing\n\x20services\x20may\x20not\x20be\x20unique.\x20See\x20https:\
//github.com/apollographql/apollo-server/blob/main/packages/apollo-gatew\
ay/src/QueryPlan.ts\n\x20for\x20more\x20information\x20and\x20details.\n\
\n\x0c\n\x05\x04\0\x03\x06\x01\x12\x03u\n\x17\nd\n\x06\x04\0\x03\x06\x03\
\0\x12\x04w\x04y\x05\x1aT\x20This\x20represents\x20a\x20set\x20of\x20nod\
es\x20to\x20be\x20executed\x20sequentially\x20by\x20the\x20Gateway\x20ex\
ecutor\n\n\x0e\n\x07\x04\0\x03\x06\x03\0\x01\x12\x03w\x0c\x18\n\x0f\n\
\x08\x04\0\x03\x06\x03\0\x02\0\x12\x03x\x06'\n\x10\n\t\x04\0\x03\x06\x03\
\0\x02\0\x04\x12\x03x\x06\x0e\n\x10\n\t\x04\0\x03\x06\x03\0\x02\0\x06\
\x12\x03x\x0f\x1c\n\x10\n\t\x04\0\x03\x06\x03\0\x02\0\x01\x12\x03x\x1d\"\
\n\x10\n\t\x04\0\x03\x06\x03\0\x02\0\x03\x12\x03x%&\nc\n\x06\x04\0\x03\
\x06\x03\x01\x12\x04{\x04}\x05\x1aS\x20This\x20represents\x20a\x20set\
\x20of\x20nodes\x20to\x20be\x20executed\x20in\x20parallel\x20by\x20the\
\x20Gateway\x20executor\n\n\x0e\n\x07\x04\0\x03\x06\x03\x01\x01\x12\x03{\
\x0c\x18\n\x0f\n\x08\x04\0\x03\x06\x03\x01\x02\0\x12\x03|\x06'\n\x10\n\t\
\x04\0\x03\x06\x03\x01\x02\0\x04\x12\x03|\x06\x0e\n\x10\n\t\x04\0\x03\
\x06\x03\x01\x02\0\x06\x12\x03|\x0f\x1c\n\x10\n\t\x04\0\x03\x06\x03\x01\
\x02\0\x01\x12\x03|\x1d\"\n\x10\n\t\x04\0\x03\x06\x03\x01\x02\0\x03\x12\
\x03|%&\nY\n\x06\x04\0\x03\x06\x03\x02\x12\x05\x7f\x04\x93\x01\x05\x1aH\
\x20This\x20represents\x20a\x20node\x20to\x20send\x20an\x20operation\x20\
to\x20an\x20implementing\x20service\n\n\x0e\n\x07\x04\0\x03\x06\x03\x02\
\x01\x12\x03\x7f\x0c\x15\n\x8a\x02\n\x08\x04\0\x03\x06\x03\x02\x02\0\x12\
\x04\x83\x01\x06\x1e\x1a\xf7\x01\x20XXX\x20When\x20we\x20want\x20to\x20i\
nclude\x20more\x20details\x20about\x20the\x20sub-operation\x20that\x20wa\
s\n\x20executed\x20against\x20this\x20service,\x20we\x20should\x20includ\
e\x20that\x20here\x20in\x20each\x20fetch\x20node.\n\x20This\x20might\x20\
include\x20an\x20operation\x20signature,\x20requires\x20directive,\x20re\
ference\x20resolutions,\x20etc.\n\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\0\
\x05\x12\x04\x83\x01\x06\x0c\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\0\x01\
\x12\x04\x83\x01\r\x19\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\0\x03\x12\x04\
\x83\x01\x1c\x1d\n\x10\n\x08\x04\0\x03\x06\x03\x02\x02\x01\x12\x04\x85\
\x01\x06$\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x01\x05\x12\x04\x85\x01\
\x06\n\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x01\x01\x12\x04\x85\x01\x0b\
\x1f\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x01\x03\x12\x04\x85\x01\"#\n\
\xcc\x01\n\x08\x04\0\x03\x06\x03\x02\x02\x02\x12\x04\x8a\x01\x06\x16\x1a\
\xb9\x01\x20This\x20Trace\x20only\x20contains\x20start_time,\x20end_time\
,\x20duration_ns,\x20and\x20root;\n\x20all\x20timings\x20were\x20calcula\
ted\x20**on\x20the\x20federated\x20service**,\x20and\x20clock\x20skew\n\
\x20will\x20be\x20handled\x20by\x20the\x20ingress\x20server.\n\n\x11\n\t\
\x04\0\x03\x06\x03\x02\x02\x02\x06\x12\x04\x8a\x01\x06\x0b\n\x11\n\t\x04\
\0\x03\x06\x03\x02\x02\x02\x01\x12\x04\x8a\x01\x0c\x11\n\x11\n\t\x04\0\
\x03\x06\x03\x02\x02\x02\x03\x12\x04\x8a\x01\x14\x15\n]\n\x08\x04\0\x03\
\x06\x03\x02\x02\x03\x12\x04\x8d\x01\x06\"\x1aK\x20relative\x20to\x20the\
\x20outer\x20trace's\x20start_time,\x20in\x20ns,\x20measured\x20in\x20th\
e\x20gateway.\n\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x03\x05\x12\x04\x8d\
\x01\x06\x0c\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x03\x01\x12\x04\x8d\x01\
\r\x1d\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x03\x03\x12\x04\x8d\x01\x20!\
\nk\n\x08\x04\0\x03\x06\x03\x02\x02\x04\x12\x04\x91\x01\x06.\x1aY\x20Wal\
lclock\x20times\x20measured\x20in\x20the\x20gateway\x20for\x20when\x20th\
is\x20operation\x20was\n\x20sent\x20and\x20received.\n\n\x11\n\t\x04\0\
\x03\x06\x03\x02\x02\x04\x06\x12\x04\x91\x01\x06\x1f\n\x11\n\t\x04\0\x03\
\x06\x03\x02\x02\x04\x01\x12\x04\x91\x01\x20)\n\x11\n\t\x04\0\x03\x06\
\x03\x02\x02\x04\x03\x12\x04\x91\x01,-\n\x10\n\x08\x04\0\x03\x06\x03\x02\
\x02\x05\x12\x04\x92\x01\x062\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x05\
\x06\x12\x04\x92\x01\x06\x1f\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x05\x01\
\x12\x04\x92\x01\x20-\n\x11\n\t\x04\0\x03\x06\x03\x02\x02\x05\x03\x12\
\x04\x92\x0101\n\xc9\x01\n\x06\x04\0\x03\x06\x03\x03\x12\x06\x97\x01\x04\
\x9a\x01\x05\x1a\xb6\x01\x20This\x20node\x20represents\x20a\x20way\x20to\
\x20reach\x20into\x20the\x20response\x20path\x20and\x20attach\x20related\
\x20entities.\n\x20XXX\x20Flatten\x20is\x20really\x20not\x20the\x20right\
\x20name\x20and\x20this\x20node\x20may\x20be\x20renamed\x20in\x20the\x20\
query\x20planner.\n\n\x0f\n\x07\x04\0\x03\x06\x03\x03\x01\x12\x04\x97\
\x01\x0c\x17\n\x10\n\x08\x04\0\x03\x06\x03\x03\x02\0\x12\x04\x98\x01\x06\
5\n\x11\n\t\x04\0\x03\x06\x03\x03\x02\0\x04\x12\x04\x98\x01\x06\x0e\n\
\x11\n\t\x04\0\x03\x06\x03\x03\x02\0\x06\x12\x04\x98\x01\x0f\"\n\x11\n\t\
\x04\0\x03\x06\x03\x03\x02\0\x01\x12\x04\x98\x01#0\n\x11\n\t\x04\0\x03\
\x06\x03\x03\x02\0\x03\x12\x04\x98\x0134\n\x10\n\x08\x04\0\x03\x06\x03\
\x03\x02\x01\x12\x04\x99\x01\x06\x1d\n\x11\n\t\x04\0\x03\x06\x03\x03\x02\
\x01\x06\x12\x04\x99\x01\x06\x13\n\x11\n\t\x04\0\x03\x06\x03\x03\x02\x01\
\x01\x12\x04\x99\x01\x14\x18\n\x11\n\t\x04\0\x03\x06\x03\x03\x02\x01\x03\
\x12\x04\x99\x01\x1b\x1c\n\x10\n\x06\x04\0\x03\x06\x03\x04\x12\x06\x9b\
\x01\x04\xa0\x01\x05\n\x0f\n\x07\x04\0\x03\x06\x03\x04\x01\x12\x04\x9b\
\x01\x0c\x1f\n\x12\n\x08\x04\0\x03\x06\x03\x04\x08\0\x12\x06\x9c\x01\x06\
\x9f\x01\x07\n\x11\n\t\x04\0\x03\x06\x03\x04\x08\0\x01\x12\x04\x9c\x01\
\x0c\x0e\n\x10\n\x08\x04\0\x03\x06\x03\x04\x02\0\x12\x04\x9d\x01\x08\x1e\
\n\x11\n\t\x04\0\x03\x06\x03\x04\x02\0\x05\x12\x04\x9d\x01\x08\x0e\n\x11\
\n\t\x04\0\x03\x06\x03\x04\x02\0\x01\x12\x04\x9d\x01\x0f\x19\n\x11\n\t\
\x04\0\x03\x06\x03\x04\x02\0\x03\x12\x04\x9d\x01\x1c\x1d\n\x10\n\x08\x04\
\0\x03\x06\x03\x04\x02\x01\x12\x04\x9e\x01\x08\x19\n\x11\n\t\x04\0\x03\
\x06\x03\x04\x02\x01\x05\x12\x04\x9e\x01\x08\x0e\n\x11\n\t\x04\0\x03\x06\
\x03\x04\x02\x01\x01\x12\x04\x9e\x01\x0f\x14\n\x11\n\t\x04\0\x03\x06\x03\
\x04\x02\x01\x03\x12\x04\x9e\x01\x17\x18\n\x10\n\x06\x04\0\x03\x06\x08\0\
\x12\x06\xa1\x01\x04\xa6\x01\x05\n\x0f\n\x07\x04\0\x03\x06\x08\0\x01\x12\
\x04\xa1\x01\n\x0e\n\x0e\n\x06\x04\0\x03\x06\x02\0\x12\x04\xa2\x01\x06\
\x20\n\x0f\n\x07\x04\0\x03\x06\x02\0\x06\x12\x04\xa2\x01\x06\x12\n\x0f\n\
\x07\x04\0\x03\x06\x02\0\x01\x12\x04\xa2\x01\x13\x1b\n\x0f\n\x07\x04\0\
\x03\x06\x02\0\x03\x12\x04\xa2\x01\x1e\x1f\n\x0e\n\x06\x04\0\x03\x06\x02\
\x01\x12\x04\xa3\x01\x06\x20\n\x0f\n\x07\x04\0\x03\x06\x02\x01\x06\x12\
\x04\xa3\x01\x06\x12\n\x0f\n\x07\x04\0\x03\x06\x02\x01\x01\x12\x04\xa3\
\x01\x13\x1b\n\x0f\n\x07\x04\0\x03\x06\x02\x01\x03\x12\x04\xa3\x01\x1e\
\x1f\n\x0e\n\x06\x04\0\x03\x06\x02\x02\x12\x04\xa4\x01\x06\x1a\n\x0f\n\
\x07\x04\0\x03\x06\x02\x02\x06\x12\x04\xa4\x01\x06\x0f\n\x0f\n\x07\x04\0\
\x03\x06\x02\x02\x01\x12\x04\xa4\x01\x10\x15\n\x0f\n\x07\x04\0\x03\x06\
\x02\x02\x03\x12\x04\xa4\x01\x18\x19\n\x0e\n\x06\x04\0\x03\x06\x02\x03\
\x12\x04\xa5\x01\x06\x1e\n\x0f\n\x07\x04\0\x03\x06\x02\x03\x06\x12\x04\
\xa5\x01\x06\x11\n\x0f\n\x07\x04\0\x03\x06\x02\x03\x01\x12\x04\xa5\x01\
\x12\x19\n\x0f\n\x07\x04\0\x03\x06\x02\x03\x03\x12\x04\xa5\x01\x1c\x1d\n\
@\n\x04\x04\0\x02\0\x12\x04\xaa\x01\x02+\x1a&\x20Wallclock\x20time\x20wh\
en\x20the\x20trace\x20began.\n\"\n\x20required\n\n\r\n\x05\x04\0\x02\0\
\x06\x12\x04\xaa\x01\x02\x1b\n\r\n\x05\x04\0\x02\0\x01\x12\x04\xaa\x01\
\x1c&\n\r\n\x05\x04\0\x02\0\x03\x12\x04\xaa\x01)*\n@\n\x04\x04\0\x02\x01\
\x12\x04\xac\x01\x02)\x1a&\x20Wallclock\x20time\x20when\x20the\x20trace\
\x20ended.\n\"\n\x20required\n\n\r\n\x05\x04\0\x02\x01\x06\x12\x04\xac\
\x01\x02\x1b\n\r\n\x05\x04\0\x02\x01\x01\x12\x04\xac\x01\x1c$\n\r\n\x05\
\x04\0\x02\x01\x03\x12\x04\xac\x01'(\n\x9d\x01\n\x04\x04\0\x02\x02\x12\
\x04\xaf\x01\x02\x1a\x1a\x82\x01\x20High\x20precision\x20duration\x20of\
\x20the\x20trace;\x20may\x20not\x20equal\x20end_time-start_time\n\x20(eg\
,\x20if\x20your\x20machine's\x20clock\x20changed\x20during\x20the\x20tra\
ce).\n\"\n\x20required\n\n\r\n\x05\x04\0\x02\x02\x05\x12\x04\xaf\x01\x02\
\x08\n\r\n\x05\x04\0\x02\x02\x01\x12\x04\xaf\x01\t\x14\n\r\n\x05\x04\0\
\x02\x02\x03\x12\x04\xaf\x01\x17\x19\nr\n\x04\x04\0\x02\x03\x12\x04\xb2\
\x01\x02\x11\x1ad\x20A\x20tree\x20containing\x20information\x20about\x20\
all\x20resolvers\x20run\x20directly\x20by\x20this\n\x20service,\x20inclu\
ding\x20errors.\n\n\r\n\x05\x04\0\x02\x03\x06\x12\x04\xb2\x01\x02\x06\n\
\r\n\x05\x04\0\x02\x03\x01\x12\x04\xb2\x01\x07\x0b\n\r\n\x05\x04\0\x02\
\x03\x03\x12\x04\xb2\x01\x0e\x10\n\xff\x06\n\x04\x04\0\x02\x04\x12\x04\
\xc2\x01\x02\x18\x1a\xa8\x05\x20In\x20addition\x20to\x20details.raw_quer\
y,\x20we\x20include\x20a\x20\"signature\"\x20of\x20the\x20query,\n\x20wh\
ich\x20can\x20be\x20normalized:\x20for\x20example,\x20you\x20may\x20want\
\x20to\x20discard\x20aliases,\x20drop\n\x20unused\x20operations\x20and\
\x20fragments,\x20sort\x20fields,\x20etc.\x20The\x20most\x20important\
\x20thing\n\x20here\x20is\x20that\x20the\x20signature\x20match\x20the\
\x20signature\x20in\x20StatsReports.\x20In\n\x20StatsReports\x20signatur\
es\x20show\x20up\x20as\x20the\x20key\x20in\x20the\x20per_query\x20map\
\x20(with\x20the\n\x20operation\x20name\x20prepended).\x20\x20The\x20sig\
nature\x20should\x20be\x20a\x20valid\x20GraphQL\x20query.\n\x20All\x20tr\
aces\x20must\x20have\x20a\x20signature;\x20if\x20this\x20Trace\x20is\x20\
in\x20a\x20FullTracesReport\n\x20that\x20signature\x20is\x20in\x20the\
\x20key\x20of\x20traces_per_query\x20rather\x20than\x20in\x20this\x20fie\
ld.\n\x20Engineproxy\x20provides\x20the\x20signature\x20in\x20legacy_sig\
nature_needs_resigning\n\x20instead.\n2\xc5\x01\x20---------------------\
----------------------------------------------------\n\x20Fields\x20belo\
w\x20this\x20line\x20are\x20*not*\x20included\x20in\x20federated\x20trac\
es\x20(the\x20traces\n\x20sent\x20from\x20federated\x20services\x20to\
\x20the\x20gateway).\n\n\r\n\x05\x04\0\x02\x04\x05\x12\x04\xc2\x01\x02\
\x08\n\r\n\x05\x04\0\x02\x04\x01\x12\x04\xc2\x01\t\x12\n\r\n\x05\x04\0\
\x02\x04\x03\x12\x04\xc2\x01\x15\x17\n\xe9\x01\n\x04\x04\0\x02\x05\x12\
\x04\xc7\x01\x02&\x1a\xda\x01\x20Optional:\x20when\x20GraphQL\x20parsing\
\x20or\x20validation\x20against\x20the\x20GraphQL\x20schema\x20fails,\
\x20these\x20fields\n\x20can\x20include\x20reference\x20to\x20the\x20ope\
ration\x20being\x20sent\x20for\x20users\x20to\x20dig\x20into\x20the\x20s\
et\x20of\x20operations\n\x20that\x20are\x20failing\x20validation.\n\n\r\
\n\x05\x04\0\x02\x05\x05\x12\x04\xc7\x01\x02\x08\n\r\n\x05\x04\0\x02\x05\
\x01\x12\x04\xc7\x01\t\x20\n\r\n\x05\x04\0\x02\x05\x03\x12\x04\xc7\x01#%\
\n\x0c\n\x04\x04\0\x02\x06\x12\x04\xc8\x01\x02&\n\r\n\x05\x04\0\x02\x06\
\x05\x12\x04\xc8\x01\x02\x08\n\r\n\x05\x04\0\x02\x06\x01\x12\x04\xc8\x01\
\t\x20\n\r\n\x05\x04\0\x02\x06\x03\x12\x04\xc8\x01#%\n\x0c\n\x04\x04\0\
\x02\x07\x12\x04\xca\x01\x02\x16\n\r\n\x05\x04\0\x02\x07\x06\x12\x04\xca\
\x01\x02\t\n\r\n\x05\x04\0\x02\x07\x01\x12\x04\xca\x01\n\x11\n\r\n\x05\
\x04\0\x02\x07\x03\x12\x04\xca\x01\x14\x15\n\xa9\x01\n\x04\x04\0\x02\x08\
\x12\x04\xce\x01\x02\x19\x1a\x9a\x01\x20Note:\x20engineproxy\x20always\
\x20sets\x20client_name,\x20client_version,\x20and\x20client_address\x20\
to\x20\"none\".\n\x20apollo-engine-reporting\x20allows\x20for\x20them\
\x20to\x20be\x20set\x20by\x20the\x20user.\n\n\r\n\x05\x04\0\x02\x08\x05\
\x12\x04\xce\x01\x02\x08\n\r\n\x05\x04\0\x02\x08\x01\x12\x04\xce\x01\t\
\x14\n\r\n\x05\x04\0\x02\x08\x03\x12\x04\xce\x01\x17\x18\n\x0c\n\x04\x04\
\0\x02\t\x12\x04\xcf\x01\x02\x1c\n\r\n\x05\x04\0\x02\t\x05\x12\x04\xcf\
\x01\x02\x08\n\r\n\x05\x04\0\x02\t\x01\x12\x04\xcf\x01\t\x17\n\r\n\x05\
\x04\0\x02\t\x03\x12\x04\xcf\x01\x1a\x1b\n\x0c\n\x04\x04\0\x02\n\x12\x04\
\xd0\x01\x02\x1c\n\r\n\x05\x04\0\x02\n\x05\x12\x04\xd0\x01\x02\x08\n\r\n\
\x05\x04\0\x02\n\x01\x12\x04\xd0\x01\t\x17\n\r\n\x05\x04\0\x02\n\x03\x12\
\x04\xd0\x01\x1a\x1b\n\x0c\n\x04\x04\0\x02\x0b\x12\x04\xd1\x01\x02\"\n\r\
\n\x05\x04\0\x02\x0b\x05\x12\x04\xd1\x01\x02\x08\n\r\n\x05\x04\0\x02\x0b\
\x01\x12\x04\xd1\x01\t\x1c\n\r\n\x05\x04\0\x02\x0b\x03\x12\x04\xd1\x01\
\x1f!\n\x0c\n\x04\x04\0\x02\x0c\x12\x04\xd3\x01\x02\x11\n\r\n\x05\x04\0\
\x02\x0c\x06\x12\x04\xd3\x01\x02\x06\n\r\n\x05\x04\0\x02\x0c\x01\x12\x04\
\xd3\x01\x07\x0b\n\r\n\x05\x04\0\x02\x0c\x03\x12\x04\xd3\x01\x0e\x10\n\
\x0c\n\x04\x04\0\x02\r\x12\x04\xd5\x01\x02\x20\n\r\n\x05\x04\0\x02\r\x06\
\x12\x04\xd5\x01\x02\r\n\r\n\x05\x04\0\x02\r\x01\x12\x04\xd5\x01\x0e\x1a\
\n\r\n\x05\x04\0\x02\r\x03\x12\x04\xd5\x01\x1d\x1f\n\x93\x02\n\x04\x04\0\
\x02\x0e\x12\x04\xdb\x01\x02\x20\x1a\x84\x02\x20If\x20this\x20Trace\x20w\
as\x20created\x20by\x20a\x20gateway,\x20this\x20is\x20the\x20query\x20pl\
an,\x20including\n\x20sub-Traces\x20for\x20federated\x20services.\x20Not\
e\x20that\x20the\x20'root'\x20tree\x20on\x20the\n\x20top-level\x20Trace\
\x20won't\x20contain\x20any\x20resolvers\x20(though\x20it\x20could\x20co\
ntain\x20errors\n\x20that\x20occurred\x20in\x20the\x20gateway\x20itself)\
.\n\n\r\n\x05\x04\0\x02\x0e\x06\x12\x04\xdb\x01\x02\x0f\n\r\n\x05\x04\0\
\x02\x0e\x01\x12\x04\xdb\x01\x10\x1a\n\r\n\x05\x04\0\x02\x0e\x03\x12\x04\
\xdb\x01\x1d\x1f\n\x81\x01\n\x04\x04\0\x02\x0f\x12\x04\xdf\x01\x02!\x1as\
\x20Was\x20this\x20response\x20served\x20from\x20a\x20full\x20query\x20r\
esponse\x20cache?\x20\x20(In\x20that\x20case\n\x20the\x20node\x20tree\
\x20will\x20have\x20no\x20resolvers.)\n\n\r\n\x05\x04\0\x02\x0f\x05\x12\
\x04\xdf\x01\x02\x06\n\r\n\x05\x04\0\x02\x0f\x01\x12\x04\xdf\x01\x07\x1b\
\n\r\n\x05\x04\0\x02\x0f\x03\x12\x04\xdf\x01\x1e\x20\nP\n\x04\x04\0\x02\
\x10\x12\x04\xe2\x01\x02\x20\x1aB\x20Was\x20this\x20query\x20specified\
\x20successfully\x20as\x20a\x20persisted\x20query\x20hash?\n\n\r\n\x05\
\x04\0\x02\x10\x05\x12\x04\xe2\x01\x02\x06\n\r\n\x05\x04\0\x02\x10\x01\
\x12\x04\xe2\x01\x07\x1a\n\r\n\x05\x04\0\x02\x10\x03\x12\x04\xe2\x01\x1d\
\x1f\n\xb9\x01\n\x04\x04\0\x02\x11\x12\x04\xe6\x01\x02%\x1a\xaa\x01\x20D\
id\x20this\x20query\x20contain\x20both\x20a\x20full\x20query\x20string\
\x20and\x20a\x20persisted\x20query\x20hash?\n\x20(This\x20typically\x20m\
eans\x20that\x20a\x20previous\x20request\x20was\x20rejected\x20as\x20an\
\x20unknown\n\x20persisted\x20query.)\n\n\r\n\x05\x04\0\x02\x11\x05\x12\
\x04\xe6\x01\x02\x06\n\r\n\x05\x04\0\x02\x11\x01\x12\x04\xe6\x01\x07\x1f\
\n\r\n\x05\x04\0\x02\x11\x03\x12\x04\xe6\x01\"$\nI\n\x04\x04\0\x02\x12\
\x12\x04\xe9\x01\x02!\x1a;\x20Was\x20this\x20operation\x20registered\x20\
and\x20a\x20part\x20of\x20the\x20safelist?\n\n\r\n\x05\x04\0\x02\x12\x05\
\x12\x04\xe9\x01\x02\x06\n\r\n\x05\x04\0\x02\x12\x01\x12\x04\xe9\x01\x07\
\x1b\n\r\n\x05\x04\0\x02\x12\x03\x12\x04\xe9\x01\x1e\x20\nH\n\x04\x04\0\
\x02\x13\x12\x04\xec\x01\x02\x20\x1a:\x20Was\x20this\x20operation\x20for\
bidden\x20due\x20to\x20lack\x20of\x20safelisting?\n\n\r\n\x05\x04\0\x02\
\x13\x05\x12\x04\xec\x01\x02\x06\n\r\n\x05\x04\0\x02\x13\x01\x12\x04\xec\
\x01\x07\x1a\n\r\n\x05\x04\0\x02\x13\x03\x12\x04\xec\x01\x1d\x1f\np\n\
\x03\x04\0\t\x12\x04\xf2\x01\x02\x18\x1ac\x20removed:\x20Node\x20parse\
\x20=\x2012;\x20Node\x20validate\x20=\x2013;\n\x20\x20\x20\x20\x20\x20\
\x20\x20\x20\x20Id128\x20server_id\x20=\x201;\x20Id128\x20client_id\x20=\
\x202;\n\n\x0c\n\x04\x04\0\t\0\x12\x04\xf2\x01\x0b\r\n\r\n\x05\x04\0\t\0\
\x01\x12\x04\xf2\x01\x0b\r\n\r\n\x05\x04\0\t\0\x02\x12\x04\xf2\x01\x0b\r\
\n\x0c\n\x04\x04\0\t\x01\x12\x04\xf2\x01\x0f\x11\n\r\n\x05\x04\0\t\x01\
\x01\x12\x04\xf2\x01\x0f\x11\n\r\n\x05\x04\0\t\x01\x02\x12\x04\xf2\x01\
\x0f\x11\n\x0c\n\x04\x04\0\t\x02\x12\x04\xf2\x01\x13\x14\n\r\n\x05\x04\0\
\t\x02\x01\x12\x04\xf2\x01\x13\x14\n\r\n\x05\x04\0\t\x02\x02\x12\x04\xf2\
\x01\x13\x14\n\x0c\n\x04\x04\0\t\x03\x12\x04\xf2\x01\x16\x17\n\r\n\x05\
\x04\0\t\x03\x01\x12\x04\xf2\x01\x16\x17\n\r\n\x05\x04\0\t\x03\x02\x12\
\x04\xf2\x01\x16\x17\n\x91\x05\n\x02\x04\x01\x12\x06\xfc\x01\0\x91\x02\
\x01\x1a\x82\x05\x20The\x20`service`\x20value\x20embedded\x20within\x20t\
he\x20header\x20key\x20is\x20not\x20guaranteed\x20to\x20contain\x20an\
\x20actual\x20service,\n\x20and,\x20in\x20most\x20cases,\x20the\x20servi\
ce\x20information\x20is\x20trusted\x20to\x20come\x20from\x20upstream\x20\
processing.\x20If\x20the\n\x20service\x20_is_\x20specified\x20in\x20this\
\x20header,\x20then\x20it\x20is\x20checked\x20to\x20match\x20the\x20cont\
ext\x20that\x20is\x20reporting\x20it.\n\x20Otherwise,\x20the\x20service\
\x20information\x20is\x20deduced\x20from\x20the\x20token\x20context\x20o\
f\x20the\x20reporter\x20and\x20then\x20sent\n\x20along\x20via\x20other\
\x20mechanisms\x20(in\x20Kafka,\x20the\x20`ReportKafkaKey).\x20The\x20ot\
her\x20information\x20(hostname,\n\x20agent_version,\x20etc.)\x20is\x20s\
ent\x20by\x20the\x20Apollo\x20Engine\x20Reporting\x20agent,\x20but\x20we\
\x20do\x20not\x20currently\x20save\x20that\n\x20information\x20to\x20any\
\x20of\x20our\x20persistent\x20storage.\n\n\x0b\n\x03\x04\x01\x01\x12\
\x04\xfc\x01\x08\x14\n&\n\x04\x04\x01\x02\0\x12\x04\xfe\x01\x02\x18\x1a\
\x18\x20eg\x20\"mygraph@myvariant\"\n\n\r\n\x05\x04\x01\x02\0\x05\x12\
\x04\xfe\x01\x02\x08\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\xfe\x01\t\x12\n\
\r\n\x05\x04\x01\x02\0\x03\x12\x04\xfe\x01\x15\x17\n(\n\x04\x04\x01\x02\
\x01\x12\x04\x81\x02\x02\x16\x1a\x1a\x20eg\x20\"host-01.example.com\"\n\
\n\r\n\x05\x04\x01\x02\x01\x05\x12\x04\x81\x02\x02\x08\n\r\n\x05\x04\x01\
\x02\x01\x01\x12\x04\x81\x02\t\x11\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\
\x81\x02\x14\x15\n2\n\x04\x04\x01\x02\x02\x12\x04\x84\x02\x02\x1b\x1a\
\x18\x20eg\x20\"engineproxy\x200.1.0\"\n\"\n\x20required\n\n\r\n\x05\x04\
\x01\x02\x02\x05\x12\x04\x84\x02\x02\x08\n\r\n\x05\x04\x01\x02\x02\x01\
\x12\x04\x84\x02\t\x16\n\r\n\x05\x04\x01\x02\x02\x03\x12\x04\x84\x02\x19\
\x1a\n]\n\x04\x04\x01\x02\x03\x12\x04\x86\x02\x02\x1d\x1aO\x20eg\x20\"pr\
od-4279-20160804T065423Z-5-g3cf0aa8\"\x20(taken\x20from\x20`git\x20descr\
ibe\x20--tags`)\n\n\r\n\x05\x04\x01\x02\x03\x05\x12\x04\x86\x02\x02\x08\
\n\r\n\x05\x04\x01\x02\x03\x01\x12\x04\x86\x02\t\x18\n\r\n\x05\x04\x01\
\x02\x03\x03\x12\x04\x86\x02\x1b\x1c\n\x20\n\x04\x04\x01\x02\x04\x12\x04\
\x88\x02\x02\x1d\x1a\x12\x20eg\x20\"node\x20v4.6.0\"\n\n\r\n\x05\x04\x01\
\x02\x04\x05\x12\x04\x88\x02\x02\x08\n\r\n\x05\x04\x01\x02\x04\x01\x12\
\x04\x88\x02\t\x18\n\r\n\x05\x04\x01\x02\x04\x03\x12\x04\x88\x02\x1b\x1c\
\n^\n\x04\x04\x01\x02\x05\x12\x04\x8a\x02\x02\x13\x1aP\x20eg\x20\"Linux\
\x20box\x204.6.5-1-ec2\x20#1\x20SMP\x20Mon\x20Aug\x201\x2002:31:38\x20PD\
T\x202016\x20x86_64\x20GNU/Linux\"\n\n\r\n\x05\x04\x01\x02\x05\x05\x12\
\x04\x8a\x02\x02\x08\n\r\n\x05\x04\x01\x02\x05\x01\x12\x04\x8a\x02\t\x0e\
\n\r\n\x05\x04\x01\x02\x05\x03\x12\x04\x8a\x02\x11\x12\n\xc6\x01\n\x04\
\x04\x01\x02\x06\x12\x04\x8e\x02\x02#\x1a\xb7\x01\x20An\x20id\x20that\
\x20is\x20used\x20to\x20represent\x20the\x20schema\x20to\x20Apollo\x20Gr\
aph\x20Manager\n\x20Using\x20this\x20in\x20place\x20of\x20what\x20used\
\x20to\x20be\x20schema_hash,\x20since\x20that\x20is\x20no\x20longer\n\
\x20attached\x20to\x20a\x20schema\x20in\x20the\x20backend.\n\n\r\n\x05\
\x04\x01\x02\x06\x05\x12\x04\x8e\x02\x02\x08\n\r\n\x05\x04\x01\x02\x06\
\x01\x12\x04\x8e\x02\t\x1d\n\r\n\x05\x04\x01\x02\x06\x03\x12\x04\x8e\x02\
\x20\"\n*\n\x03\x04\x01\t\x12\x04\x90\x02\x02\r\"\x1d\x20removed\x20stri\
ng\x20service\x20=\x203;\n\n\x0c\n\x04\x04\x01\t\0\x12\x04\x90\x02\x0b\
\x0c\n\r\n\x05\x04\x01\t\0\x01\x12\x04\x90\x02\x0b\x0c\n\r\n\x05\x04\x01\
\t\0\x02\x12\x04\x90\x02\x0b\x0c\n\x0c\n\x02\x04\x02\x12\x06\x93\x02\0\
\x97\x02\x01\n\x0b\n\x03\x04\x02\x01\x12\x04\x93\x02\x08\x16\n\x0c\n\x04\
\x04\x02\x02\0\x12\x04\x94\x02\x02+\n\r\n\x05\x04\x02\x02\0\x06\x12\x04\
\x94\x02\x02\x1d\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\x94\x02\x1e&\n\r\n\
\x05\x04\x02\x02\0\x03\x12\x04\x94\x02)*\n\x0c\n\x04\x04\x02\x02\x01\x12\
\x04\x95\x02\x02\x1a\n\r\n\x05\x04\x02\x02\x01\x05\x12\x04\x95\x02\x02\
\x08\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\x95\x02\t\x15\n\r\n\x05\x04\
\x02\x02\x01\x03\x12\x04\x95\x02\x18\x19\n\x0c\n\x04\x04\x02\x02\x02\x12\
\x04\x96\x02\x02(\n\r\n\x05\x04\x02\x02\x02\x05\x12\x04\x96\x02\x02\x08\
\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\x96\x02\t#\n\r\n\x05\x04\x02\x02\
\x02\x03\x12\x04\x96\x02&'\n\x0c\n\x02\x04\x03\x12\x06\x99\x02\0\xa8\x02\
\x01\n\x0b\n\x03\x04\x03\x01\x12\x04\x99\x02\x08\x19\n\x0c\n\x04\x04\x03\
\x02\0\x12\x04\x9a\x02\x02%\n\r\n\x05\x04\x03\x02\0\x04\x12\x04\x9a\x02\
\x02\n\n\r\n\x05\x04\x03\x02\0\x05\x12\x04\x9a\x02\x0b\x11\n\r\n\x05\x04\
\x03\x02\0\x01\x12\x04\x9a\x02\x12\x1f\n\r\n\x05\x04\x03\x02\0\x03\x12\
\x04\x9a\x02\"$\n\x0c\n\x04\x04\x03\x02\x01\x12\x04\x9b\x02\x02\x1b\n\r\
\n\x05\x04\x03\x02\x01\x05\x12\x04\x9b\x02\x02\x08\n\r\n\x05\x04\x03\x02\
\x01\x01\x12\x04\x9b\x02\t\x16\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\x9b\
\x02\x19\x1a\n\x0c\n\x04\x04\x03\x02\x02\x12\x04\x9c\x02\x02\x18\n\r\n\
\x05\x04\x03\x02\x02\x05\x12\x04\x9c\x02\x02\x08\n\r\n\x05\x04\x03\x02\
\x02\x01\x12\x04\x9c\x02\t\x13\n\r\n\x05\x04\x03\x02\x02\x03\x12\x04\x9c\
\x02\x16\x17\n\x0c\n\x04\x04\x03\x02\x03\x12\x04\x9d\x02\x02\"\n\r\n\x05\
\x04\x03\x02\x03\x05\x12\x04\x9d\x02\x02\x08\n\r\n\x05\x04\x03\x02\x03\
\x01\x12\x04\x9d\x02\t\x1d\n\r\n\x05\x04\x03\x02\x03\x03\x12\x04\x9d\x02\
\x20!\n\x0c\n\x04\x04\x03\x02\x04\x12\x04\x9e\x02\x02$\n\r\n\x05\x04\x03\
\x02\x04\x05\x12\x04\x9e\x02\x02\x08\n\r\n\x05\x04\x03\x02\x04\x01\x12\
\x04\x9e\x02\t\x1f\n\r\n\x05\x04\x03\x02\x04\x03\x12\x04\x9e\x02\"#\n\
\x0c\n\x04\x04\x03\x02\x05\x12\x04\x9f\x02\x02+\n\r\n\x05\x04\x03\x02\
\x05\x04\x12\x04\x9f\x02\x02\n\n\r\n\x05\x04\x03\x02\x05\x05\x12\x04\x9f\
\x02\x0b\x11\n\r\n\x05\x04\x03\x02\x05\x01\x12\x04\x9f\x02\x12%\n\r\n\
\x05\x04\x03\x02\x05\x03\x12\x04\x9f\x02(*\n\x0c\n\x04\x04\x03\x02\x06\
\x12\x04\xa0\x02\x02&\n\r\n\x05\x04\x03\x02\x06\x06\x12\x04\xa0\x02\x02\
\x10\n\r\n\x05\x04\x03\x02\x06\x01\x12\x04\xa0\x02\x11!\n\r\n\x05\x04\
\x03\x02\x06\x03\x12\x04\xa0\x02$%\n\x0c\n\x04\x04\x03\x02\x07\x12\x04\
\xa1\x02\x02(\n\r\n\x05\x04\x03\x02\x07\x05\x12\x04\xa1\x02\x02\x08\n\r\
\n\x05\x04\x03\x02\x07\x01\x12\x04\xa1\x02\t#\n\r\n\x05\x04\x03\x02\x07\
\x03\x12\x04\xa1\x02&'\n\x0c\n\x04\x04\x03\x02\x08\x12\x04\xa2\x02\x02.\
\n\r\n\x05\x04\x03\x02\x08\x04\x12\x04\xa2\x02\x02\n\n\r\n\x05\x04\x03\
\x02\x08\x05\x12\x04\xa2\x02\x0b\x11\n\r\n\x05\x04\x03\x02\x08\x01\x12\
\x04\xa2\x02\x12(\n\r\n\x05\x04\x03\x02\x08\x03\x12\x04\xa2\x02+-\n\x0c\
\n\x04\x04\x03\x02\t\x12\x04\xa3\x02\x02/\n\r\n\x05\x04\x03\x02\t\x04\
\x12\x04\xa3\x02\x02\n\n\r\n\x05\x04\x03\x02\t\x05\x12\x04\xa3\x02\x0b\
\x11\n\r\n\x05\x04\x03\x02\t\x01\x12\x04\xa3\x02\x12)\n\r\n\x05\x04\x03\
\x02\t\x03\x12\x04\xa3\x02,.\n\x0c\n\x04\x04\x03\x02\n\x12\x04\xa4\x02\
\x02)\n\r\n\x05\x04\x03\x02\n\x05\x12\x04\xa4\x02\x02\x08\n\r\n\x05\x04\
\x03\x02\n\x01\x12\x04\xa4\x02\t#\n\r\n\x05\x04\x03\x02\n\x03\x12\x04\
\xa4\x02&(\n\x0c\n\x04\x04\x03\x02\x0b\x12\x04\xa5\x02\x02(\n\r\n\x05\
\x04\x03\x02\x0b\x05\x12\x04\xa5\x02\x02\x08\n\r\n\x05\x04\x03\x02\x0b\
\x01\x12\x04\xa5\x02\t\"\n\r\n\x05\x04\x03\x02\x0b\x03\x12\x04\xa5\x02%'\
\n8\n\x03\x04\x03\t\x12\x04\xa7\x02\x02\x17\x1a+\x201,\x206,\x209,\x20an\
d\x2010\x20were\x20old\x20int64\x20histograms\n\n\x0c\n\x04\x04\x03\t\0\
\x12\x04\xa7\x02\x0b\x0c\n\r\n\x05\x04\x03\t\0\x01\x12\x04\xa7\x02\x0b\
\x0c\n\r\n\x05\x04\x03\t\0\x02\x12\x04\xa7\x02\x0b\x0c\n\x0c\n\x04\x04\
\x03\t\x01\x12\x04\xa7\x02\x0e\x0f\n\r\n\x05\x04\x03\t\x01\x01\x12\x04\
\xa7\x02\x0e\x0f\n\r\n\x05\x04\x03\t\x01\x02\x12\x04\xa7\x02\x0e\x0f\n\
\x0c\n\x04\x04\x03\t\x02\x12\x04\xa7\x02\x11\x12\n\r\n\x05\x04\x03\t\x02\
\x01\x12\x04\xa7\x02\x11\x12\n\r\n\x05\x04\x03\t\x02\x02\x12\x04\xa7\x02\
\x11\x12\n\x0c\n\x04\x04\x03\t\x03\x12\x04\xa7\x02\x14\x16\n\r\n\x05\x04\
\x03\t\x03\x01\x12\x04\xa7\x02\x14\x16\n\r\n\x05\x04\x03\t\x03\x02\x12\
\x04\xa7\x02\x14\x16\n\x0c\n\x02\x04\x04\x12\x06\xaa\x02\0\xae\x02\x01\n\
\x0b\n\x03\x04\x04\x01\x12\x04\xaa\x02\x08\x14\n\x0c\n\x04\x04\x04\x02\0\
\x12\x04\xab\x02\x02!\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\xab\x02\x02\
\x08\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xab\x02\t\x1c\n\r\n\x05\x04\x04\
\x02\0\x03\x12\x04\xab\x02\x1f\x20\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\
\xac\x02\x02\x19\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\xac\x02\x02\x08\n\
\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xac\x02\t\x14\n\r\n\x05\x04\x04\x02\
\x01\x03\x12\x04\xac\x02\x17\x18\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\xad\
\x02\x02\x1c\n\r\n\x05\x04\x04\x02\x02\x05\x12\x04\xad\x02\x02\x08\n\r\n\
\x05\x04\x04\x02\x02\x01\x12\x04\xad\x02\t\x17\n\r\n\x05\x04\x04\x02\x02\
\x03\x12\x04\xad\x02\x1a\x1b\n\x0c\n\x02\x04\x05\x12\x06\xb0\x02\0\xb3\
\x02\x01\n\x0b\n\x03\x04\x05\x01\x12\x04\xb0\x02\x08'\n\x0c\n\x04\x04\
\x05\x02\0\x12\x04\xb1\x02\x02,\n\r\n\x05\x04\x05\x02\0\x06\x12\x04\xb1\
\x02\x02\x13\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\xb1\x02\x14'\n\r\n\x05\
\x04\x05\x02\0\x03\x12\x04\xb1\x02*+\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\
\xb2\x02\x02\x1b\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\xb2\x02\x02\x0e\n\
\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xb2\x02\x0f\x16\n\r\n\x05\x04\x05\
\x02\x01\x03\x12\x04\xb2\x02\x19\x1a\n\x0c\n\x02\x04\x06\x12\x06\xb5\x02\
\0\xb8\x02\x01\n\x0b\n\x03\x04\x06\x01\x12\x04\xb5\x02\x08\x1f\n\x0c\n\
\x04\x04\x06\x02\0\x12\x04\xb6\x02\x02\x1b\n\r\n\x05\x04\x06\x02\0\x06\
\x12\x04\xb6\x02\x02\x0e\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xb6\x02\x0f\
\x16\n\r\n\x05\x04\x06\x02\0\x03\x12\x04\xb6\x02\x19\x1a\n\x0c\n\x04\x04\
\x06\x02\x01\x12\x04\xb7\x02\x02*\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\
\xb7\x02\x02\x17\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xb7\x02\x18%\n\r\
\n\x05\x04\x06\x02\x01\x03\x12\x04\xb7\x02()\n\x0c\n\x02\x04\x07\x12\x06\
\xba\x02\0\xc1\x02\x01\n\x0b\n\x03\x04\x07\x01\x12\x04\xba\x02\x08\x11\n\
=\n\x04\x04\x07\x02\0\x12\x04\xbb\x02\x02\x19\"/\x20required;\x20eg\x20\
\"String!\"\x20for\x20User.email:String!\n\n\r\n\x05\x04\x07\x02\0\x05\
\x12\x04\xbb\x02\x02\x08\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\xbb\x02\t\
\x14\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\xbb\x02\x17\x18\n\x0c\n\x04\x04\
\x07\x02\x01\x12\x04\xbc\x02\x02\x1a\n\r\n\x05\x04\x07\x02\x01\x05\x12\
\x04\xbc\x02\x02\x08\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xbc\x02\t\x15\
\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xbc\x02\x18\x19\n\x0c\n\x04\x04\
\x07\x02\x02\x12\x04\xbd\x02\x02\x13\n\r\n\x05\x04\x07\x02\x02\x05\x12\
\x04\xbd\x02\x02\x08\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xbd\x02\t\x0e\
\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xbd\x02\x11\x12\n\x0c\n\x04\x04\
\x07\x02\x03\x12\x04\xbe\x02\x02(\n\r\n\x05\x04\x07\x02\x03\x05\x12\x04\
\xbe\x02\x02\x08\n\r\n\x05\x04\x07\x02\x03\x01\x12\x04\xbe\x02\t#\n\r\n\
\x05\x04\x07\x02\x03\x03\x12\x04\xbe\x02&'\n:\n\x04\x04\x07\x02\x04\x12\
\x04\xbf\x02\x02$\",\x20Duration\x20histogram;\x20see\x20docs/histograms\
.md\n\n\r\n\x05\x04\x07\x02\x04\x04\x12\x04\xbf\x02\x02\n\n\r\n\x05\x04\
\x07\x02\x04\x05\x12\x04\xbf\x02\x0b\x11\n\r\n\x05\x04\x07\x02\x04\x01\
\x12\x04\xbf\x02\x12\x1f\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\xbf\x02\"\
#\n\x0b\n\x03\x04\x07\t\x12\x04\xc0\x02\x02\x16\n\x0c\n\x04\x04\x07\t\0\
\x12\x04\xc0\x02\x0b\x0c\n\r\n\x05\x04\x07\t\0\x01\x12\x04\xc0\x02\x0b\
\x0c\n\r\n\x05\x04\x07\t\0\x02\x12\x04\xc0\x02\x0b\x0c\n\x0c\n\x04\x04\
\x07\t\x01\x12\x04\xc0\x02\x0e\x0f\n\r\n\x05\x04\x07\t\x01\x01\x12\x04\
\xc0\x02\x0e\x0f\n\r\n\x05\x04\x07\t\x01\x02\x12\x04\xc0\x02\x0e\x0f\n\
\x0c\n\x04\x04\x07\t\x02\x12\x04\xc0\x02\x11\x12\n\r\n\x05\x04\x07\t\x02\
\x01\x12\x04\xc0\x02\x11\x12\n\r\n\x05\x04\x07\t\x02\x02\x12\x04\xc0\x02\
\x11\x12\n\x0c\n\x04\x04\x07\t\x03\x12\x04\xc0\x02\x14\x15\n\r\n\x05\x04\
\x07\t\x03\x01\x12\x04\xc0\x02\x14\x15\n\r\n\x05\x04\x07\t\x03\x02\x12\
\x04\xc0\x02\x14\x15\n\x0c\n\x02\x04\x08\x12\x06\xc3\x02\0\xc7\x02\x01\n\
\x0b\n\x03\x04\x08\x01\x12\x04\xc3\x02\x08\x10\n:\n\x04\x04\x08\x02\0\
\x12\x04\xc5\x02\x02,\x1a,\x20Key\x20is\x20(eg)\x20\"email\"\x20for\x20U\
ser.email:String!\n\n\r\n\x05\x04\x08\x02\0\x06\x12\x04\xc5\x02\x02\x18\
\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xc5\x02\x19'\n\r\n\x05\x04\x08\x02\
\0\x03\x12\x04\xc5\x02*+\n\x0b\n\x03\x04\x08\t\x12\x04\xc6\x02\x02\x10\n\
\x0c\n\x04\x04\x08\t\0\x12\x04\xc6\x02\x0b\x0c\n\r\n\x05\x04\x08\t\0\x01\
\x12\x04\xc6\x02\x0b\x0c\n\r\n\x05\x04\x08\t\0\x02\x12\x04\xc6\x02\x0b\
\x0c\n\x0c\n\x04\x04\x08\t\x01\x12\x04\xc6\x02\x0e\x0f\n\r\n\x05\x04\x08\
\t\x01\x01\x12\x04\xc6\x02\x0e\x0f\n\r\n\x05\x04\x08\t\x01\x02\x12\x04\
\xc6\x02\x0e\x0f\n\x0c\n\x02\x04\t\x12\x06\xca\x02\0\xcd\x02\x01\n\x0b\n\
\x03\x04\t\x01\x12\x04\xca\x02\x08\r\n;\n\x04\x04\t\x02\0\x12\x04\xcb\
\x02\x02\x12\"-\x20required;\x20eg\x20\"email\"\x20for\x20User.email:Str\
ing!\n\n\r\n\x05\x04\t\x02\0\x05\x12\x04\xcb\x02\x02\x08\n\r\n\x05\x04\t\
\x02\0\x01\x12\x04\xcb\x02\t\r\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xcb\x02\
\x10\x11\n=\n\x04\x04\t\x02\x01\x12\x04\xcc\x02\x02\x19\"/\x20required;\
\x20eg\x20\"String!\"\x20for\x20User.email:String!\n\n\r\n\x05\x04\t\x02\
\x01\x05\x12\x04\xcc\x02\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xcc\
\x02\t\x14\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xcc\x02\x17\x18\n\x0c\n\
\x02\x04\n\x12\x06\xcf\x02\0\xd2\x02\x01\n\x0b\n\x03\x04\n\x01\x12\x04\
\xcf\x02\x08\x0c\n:\n\x04\x04\n\x02\0\x12\x04\xd0\x02\x02\x12\",\x20requ\
ired;\x20eg\x20\"User\"\x20for\x20User.email:String!\n\n\r\n\x05\x04\n\
\x02\0\x05\x12\x04\xd0\x02\x02\x08\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xd0\
\x02\t\r\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xd0\x02\x10\x11\n\x0c\n\x04\
\x04\n\x02\x01\x12\x04\xd1\x02\x02\x1b\n\r\n\x05\x04\n\x02\x01\x04\x12\
\x04\xd1\x02\x02\n\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\xd1\x02\x0b\x10\n\
\r\n\x05\x04\n\x02\x01\x01\x12\x04\xd1\x02\x11\x16\n\r\n\x05\x04\n\x02\
\x01\x03\x12\x04\xd1\x02\x19\x1a\n\x8f\x05\n\x02\x04\x0b\x12\x06\xdc\x02\
\0\xee\x02\x01\x1a\x80\x05\x20This\x20is\x20the\x20top-level\x20message\
\x20used\x20by\x20the\x20new\x20traces\x20ingress.\x20This\n\x20is\x20de\
signed\x20for\x20the\x20apollo-engine-reporting\x20TypeScript\x20agent\
\x20and\x20will\n\x20eventually\x20be\x20documented\x20as\x20a\x20public\
\x20ingress\x20API.\x20This\x20message\x20consists\n\x20solely\x20of\x20\
traces;\x20the\x20equivalent\x20of\x20the\x20StatsReport\x20is\x20automa\
tically\n\x20generated\x20server-side\x20from\x20this\x20message.\x20Age\
nt\x20should\x20either\x20send\x20a\x20trace\x20or\x20include\x20it\x20i\
n\x20the\x20stats\n\x20for\x20every\x20request\x20in\x20this\x20report.\
\x20Generally,\x20buffering\x20up\x20until\x20a\x20large\n\x20size\x20ha\
s\x20been\x20reached\x20(say,\x204MB)\x20or\x205-10\x20seconds\x20has\
\x20passed\x20is\x20appropriate.\n\x20This\x20message\x20used\x20to\x20b\
e\x20know\x20as\x20FullTracesReport,\x20but\x20got\x20renamed\x20since\
\x20it\x20isn't\x20just\x20for\x20traces\x20anymore\n\n\x0b\n\x03\x04\
\x0b\x01\x12\x04\xdc\x02\x08\x0e\n\x0c\n\x04\x04\x0b\x02\0\x12\x04\xdd\
\x02\x02\x1a\n\r\n\x05\x04\x0b\x02\0\x06\x12\x04\xdd\x02\x02\x0e\n\r\n\
\x05\x04\x0b\x02\0\x01\x12\x04\xdd\x02\x0f\x15\n\r\n\x05\x04\x0b\x02\0\
\x03\x12\x04\xdd\x02\x18\x19\n\xb6\x03\n\x04\x04\x0b\x02\x01\x12\x04\xe7\
\x02\x023\x1a\xa7\x03\x20key\x20is\x20statsReportKey\x20(#\x20operationN\
ame\\nsignature)\x20Note\x20that\x20the\x20nested\n\x20traces\x20will\
\x20*not*\x20have\x20a\x20signature\x20or\x20details.operationName\x20(b\
ecause\x20the\n\x20key\x20is\x20adequate).\n\n\x20We\x20also\x20assume\
\x20that\x20traces\x20don't\x20have\n\x20legacy_per_query_implicit_opera\
tion_name,\x20and\x20we\x20don't\x20require\x20them\x20to\x20have\n\x20d\
etails.raw_query\x20(which\x20would\x20consume\x20a\x20lot\x20of\x20spac\
e\x20and\x20has\x20privacy/data\n\x20access\x20issues,\x20and\x20isn't\
\x20currently\x20exposed\x20by\x20our\x20app\x20anyway).\n\n\r\n\x05\x04\
\x0b\x02\x01\x06\x12\x04\xe7\x02\x02\x1d\n\r\n\x05\x04\x0b\x02\x01\x01\
\x12\x04\xe7\x02\x1e.\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xe7\x0212\n\
\xf8\x02\n\x04\x04\x0b\x02\x02\x12\x04\xed\x02\x02)\x1a\xc0\x02\x20This\
\x20is\x20the\x20time\x20that\x20the\x20requests\x20in\x20this\x20trace\
\x20are\x20considered\x20to\x20have\x20taken\x20place\n\x20If\x20this\
\x20field\x20is\x20not\x20present\x20the\x20max\x20of\x20the\x20end_time\
\x20of\x20each\x20trace\x20will\x20be\x20used\x20instead.\n\x20If\x20the\
re\x20are\x20no\x20traces\x20and\x20no\x20end_time\x20present\x20the\x20\
report\x20will\x20not\x20be\x20able\x20to\x20be\x20processed.\n\x20Note:\
\x20This\x20will\x20override\x20the\x20end_time\x20from\x20traces.\n\"'\
\x20required\x20if\x20no\x20traces\x20in\x20this\x20message\n\n\r\n\x05\
\x04\x0b\x02\x02\x06\x12\x04\xed\x02\x02\x1b\n\r\n\x05\x04\x0b\x02\x02\
\x01\x12\x04\xed\x02\x1c$\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xed\x02'\
(\n\x0c\n\x02\x04\x0c\x12\x06\xf0\x02\0\xf6\x02\x01\n\x0b\n\x03\x04\x0c\
\x01\x12\x04\xf0\x02\x08\x1b\n\x0c\n\x04\x04\x0c\x02\0\x12\x04\xf1\x02\
\x02\x1b\n\r\n\x05\x04\x0c\x02\0\x06\x12\x04\xf1\x02\x02\x0e\n\r\n\x05\
\x04\x0c\x02\0\x01\x12\x04\xf1\x02\x0f\x16\n\r\n\x05\x04\x0c\x02\0\x03\
\x12\x04\xf1\x02\x19\x1a\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\xf2\x02\x02\
,\n\r\n\x05\x04\x0c\x02\x01\x06\x12\x04\xf2\x02\x02\x13\n\r\n\x05\x04\
\x0c\x02\x01\x01\x12\x04\xf2\x02\x14'\n\r\n\x05\x04\x0c\x02\x01\x03\x12\
\x04\xf2\x02*+\n!\n\x04\x04\x0c\x02\x02\x12\x04\xf4\x02\x02*\x1a\x13\x20\
Key\x20is\x20type\x20name.\n\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\xf4\
\x02\x02\x17\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\xf4\x02\x18%\n\r\n\
\x05\x04\x0c\x02\x02\x03\x12\x04\xf4\x02()\no\n\x02\x04\r\x12\x06\xf9\
\x02\0\x80\x03\x01\x1aa\x20A\x20sequence\x20of\x20traces\x20and\x20stats\
.\x20An\x20individual\x20trace\x20should\x20either\x20be\x20counted\x20a\
s\x20a\x20stat\x20or\x20trace\n\n\x0b\n\x03\x04\r\x01\x12\x04\xf9\x02\
\x08\x16\n\x0c\n\x04\x04\r\x02\0\x12\x04\xfa\x02\x02\x1b\n\r\n\x05\x04\r\
\x02\0\x04\x12\x04\xfa\x02\x02\n\n\r\n\x05\x04\r\x02\0\x06\x12\x04\xfa\
\x02\x0b\x10\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xfa\x02\x11\x16\n\r\n\x05\
\x04\r\x02\0\x03\x12\x04\xfa\x02\x19\x1a\n\x0c\n\x04\x04\r\x02\x01\x12\
\x04\xfb\x02\x026\n\r\n\x05\x04\r\x02\x01\x04\x12\x04\xfb\x02\x02\n\n\r\
\n\x05\x04\r\x02\x01\x06\x12\x04\xfb\x02\x0b\x1e\n\r\n\x05\x04\r\x02\x01\
\x01\x12\x04\xfb\x02\x1f1\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xfb\x0245\
\n\xda\x01\n\x04\x04\r\x02\x02\x12\x04\xff\x02\x02;\x1a\xcb\x01\x20This\
\x20field\x20is\x20used\x20to\x20validate\x20that\x20the\x20algorithm\
\x20used\x20to\x20construct\x20`stats_with_context`\n\x20matches\x20simi\
lar\x20algorithms\x20in\x20Apollo's\x20servers.\x20It\x20is\x20otherwise\
\x20ignored\x20and\x20should\x20not\n\x20be\x20included\x20in\x20reports\
.\n\n\r\n\x05\x04\r\x02\x02\x04\x12\x04\xff\x02\x02\n\n\r\n\x05\x04\r\
\x02\x02\x06\x12\x04\xff\x02\x0b\x10\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\
\xff\x02\x116\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xff\x029:b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
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()
})
}