...

Source file src/github.com/99designs/gqlgen/graphql/handler/apollofederatedtracingv1/generated/apollo_trace.pb.go

Documentation: github.com/99designs/gqlgen/graphql/handler/apollofederatedtracingv1/generated

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.28.0
     4  // 	protoc        v3.19.4
     5  // source: apollo_trace.proto
     6  
     7  package generated
     8  
     9  import (
    10  	reflect "reflect"
    11  	sync "sync"
    12  
    13  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    14  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    15  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    16  )
    17  
    18  const (
    19  	// Verify that this generated code is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    21  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    23  )
    24  
    25  type Trace_CachePolicy_Scope int32
    26  
    27  const (
    28  	Trace_CachePolicy_UNKNOWN Trace_CachePolicy_Scope = 0
    29  	Trace_CachePolicy_PUBLIC  Trace_CachePolicy_Scope = 1
    30  	Trace_CachePolicy_PRIVATE Trace_CachePolicy_Scope = 2
    31  )
    32  
    33  // Enum value maps for Trace_CachePolicy_Scope.
    34  var (
    35  	Trace_CachePolicy_Scope_name = map[int32]string{
    36  		0: "UNKNOWN",
    37  		1: "PUBLIC",
    38  		2: "PRIVATE",
    39  	}
    40  	Trace_CachePolicy_Scope_value = map[string]int32{
    41  		"UNKNOWN": 0,
    42  		"PUBLIC":  1,
    43  		"PRIVATE": 2,
    44  	}
    45  )
    46  
    47  func (x Trace_CachePolicy_Scope) Enum() *Trace_CachePolicy_Scope {
    48  	p := new(Trace_CachePolicy_Scope)
    49  	*p = x
    50  	return p
    51  }
    52  
    53  func (x Trace_CachePolicy_Scope) String() string {
    54  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    55  }
    56  
    57  func (Trace_CachePolicy_Scope) Descriptor() protoreflect.EnumDescriptor {
    58  	return file_apollo_trace_proto_enumTypes[0].Descriptor()
    59  }
    60  
    61  func (Trace_CachePolicy_Scope) Type() protoreflect.EnumType {
    62  	return &file_apollo_trace_proto_enumTypes[0]
    63  }
    64  
    65  func (x Trace_CachePolicy_Scope) Number() protoreflect.EnumNumber {
    66  	return protoreflect.EnumNumber(x)
    67  }
    68  
    69  // Deprecated: Use Trace_CachePolicy_Scope.Descriptor instead.
    70  func (Trace_CachePolicy_Scope) EnumDescriptor() ([]byte, []int) {
    71  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 0, 0}
    72  }
    73  
    74  type Trace_HTTP_Method int32
    75  
    76  const (
    77  	Trace_HTTP_UNKNOWN Trace_HTTP_Method = 0
    78  	Trace_HTTP_OPTIONS Trace_HTTP_Method = 1
    79  	Trace_HTTP_GET     Trace_HTTP_Method = 2
    80  	Trace_HTTP_HEAD    Trace_HTTP_Method = 3
    81  	Trace_HTTP_POST    Trace_HTTP_Method = 4
    82  	Trace_HTTP_PUT     Trace_HTTP_Method = 5
    83  	Trace_HTTP_DELETE  Trace_HTTP_Method = 6
    84  	Trace_HTTP_TRACE   Trace_HTTP_Method = 7
    85  	Trace_HTTP_CONNECT Trace_HTTP_Method = 8
    86  	Trace_HTTP_PATCH   Trace_HTTP_Method = 9
    87  )
    88  
    89  // Enum value maps for Trace_HTTP_Method.
    90  var (
    91  	Trace_HTTP_Method_name = map[int32]string{
    92  		0: "UNKNOWN",
    93  		1: "OPTIONS",
    94  		2: "GET",
    95  		3: "HEAD",
    96  		4: "POST",
    97  		5: "PUT",
    98  		6: "DELETE",
    99  		7: "TRACE",
   100  		8: "CONNECT",
   101  		9: "PATCH",
   102  	}
   103  	Trace_HTTP_Method_value = map[string]int32{
   104  		"UNKNOWN": 0,
   105  		"OPTIONS": 1,
   106  		"GET":     2,
   107  		"HEAD":    3,
   108  		"POST":    4,
   109  		"PUT":     5,
   110  		"DELETE":  6,
   111  		"TRACE":   7,
   112  		"CONNECT": 8,
   113  		"PATCH":   9,
   114  	}
   115  )
   116  
   117  func (x Trace_HTTP_Method) Enum() *Trace_HTTP_Method {
   118  	p := new(Trace_HTTP_Method)
   119  	*p = x
   120  	return p
   121  }
   122  
   123  func (x Trace_HTTP_Method) String() string {
   124  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   125  }
   126  
   127  func (Trace_HTTP_Method) Descriptor() protoreflect.EnumDescriptor {
   128  	return file_apollo_trace_proto_enumTypes[1].Descriptor()
   129  }
   130  
   131  func (Trace_HTTP_Method) Type() protoreflect.EnumType {
   132  	return &file_apollo_trace_proto_enumTypes[1]
   133  }
   134  
   135  func (x Trace_HTTP_Method) Number() protoreflect.EnumNumber {
   136  	return protoreflect.EnumNumber(x)
   137  }
   138  
   139  // Deprecated: Use Trace_HTTP_Method.Descriptor instead.
   140  func (Trace_HTTP_Method) EnumDescriptor() ([]byte, []int) {
   141  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 3, 0}
   142  }
   143  
   144  type Trace struct {
   145  	state         protoimpl.MessageState
   146  	sizeCache     protoimpl.SizeCache
   147  	unknownFields protoimpl.UnknownFields
   148  
   149  	// Wallclock time when the trace began.
   150  	StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // required
   151  	// Wallclock time when the trace ended.
   152  	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // required
   153  	// High precision duration of the trace; may not equal end_time-start_time
   154  	// (eg, if your machine's clock changed during the trace).
   155  	DurationNs uint64 `protobuf:"varint,11,opt,name=duration_ns,json=durationNs,proto3" json:"duration_ns,omitempty"` // required
   156  	// A tree containing information about all resolvers run directly by this
   157  	// service, including errors.
   158  	Root *Trace_Node `protobuf:"bytes,14,opt,name=root,proto3" json:"root,omitempty"`
   159  	// In addition to details.raw_query, we include a "signature" of the query,
   160  	// which can be normalized: for example, you may want to discard aliases, drop
   161  	// unused operations and fragments, sort fields, etc. The most important thing
   162  	// here is that the signature match the signature in StatsReports. In
   163  	// StatsReports signatures show up as the key in the per_query map (with the
   164  	// operation name prepended).  The signature should be a valid GraphQL query.
   165  	// All traces must have a signature; if this Trace is in a FullTracesReport
   166  	// that signature is in the key of traces_per_query rather than in this field.
   167  	// Engineproxy provides the signature in legacy_signature_needs_resigning
   168  	// instead.
   169  	Signature string `protobuf:"bytes,19,opt,name=signature,proto3" json:"signature,omitempty"`
   170  	// Optional: when GraphQL parsing or validation against the GraphQL schema fails, these fields
   171  	// can include reference to the operation being sent for users to dig into the set of operations
   172  	// that are failing validation.
   173  	UnexecutedOperationBody string             `protobuf:"bytes,27,opt,name=unexecutedOperationBody,proto3" json:"unexecutedOperationBody,omitempty"`
   174  	UnexecutedOperationName string             `protobuf:"bytes,28,opt,name=unexecutedOperationName,proto3" json:"unexecutedOperationName,omitempty"`
   175  	Details                 *Trace_Details     `protobuf:"bytes,6,opt,name=details,proto3" json:"details,omitempty"`
   176  	ClientName              string             `protobuf:"bytes,7,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
   177  	ClientVersion           string             `protobuf:"bytes,8,opt,name=client_version,json=clientVersion,proto3" json:"client_version,omitempty"`
   178  	Http                    *Trace_HTTP        `protobuf:"bytes,10,opt,name=http,proto3" json:"http,omitempty"`
   179  	CachePolicy             *Trace_CachePolicy `protobuf:"bytes,18,opt,name=cache_policy,json=cachePolicy,proto3" json:"cache_policy,omitempty"`
   180  	// If this Trace was created by a gateway, this is the query plan, including
   181  	// sub-Traces for federated services. Note that the 'root' tree on the
   182  	// top-level Trace won't contain any resolvers (though it could contain errors
   183  	// that occurred in the gateway itself).
   184  	QueryPlan *Trace_QueryPlanNode `protobuf:"bytes,26,opt,name=query_plan,json=queryPlan,proto3" json:"query_plan,omitempty"`
   185  	// Was this response served from a full query response cache?  (In that case
   186  	// the node tree will have no resolvers.)
   187  	FullQueryCacheHit bool `protobuf:"varint,20,opt,name=full_query_cache_hit,json=fullQueryCacheHit,proto3" json:"full_query_cache_hit,omitempty"`
   188  	// Was this query specified successfully as a persisted query hash?
   189  	PersistedQueryHit bool `protobuf:"varint,21,opt,name=persisted_query_hit,json=persistedQueryHit,proto3" json:"persisted_query_hit,omitempty"`
   190  	// Did this query contain both a full query string and a persisted query hash?
   191  	// (This typically means that a previous request was rejected as an unknown
   192  	// persisted query.)
   193  	PersistedQueryRegister bool `protobuf:"varint,22,opt,name=persisted_query_register,json=persistedQueryRegister,proto3" json:"persisted_query_register,omitempty"`
   194  	// Was this operation registered and a part of the safelist?
   195  	RegisteredOperation bool `protobuf:"varint,24,opt,name=registered_operation,json=registeredOperation,proto3" json:"registered_operation,omitempty"`
   196  	// Was this operation forbidden due to lack of safelisting?
   197  	ForbiddenOperation bool `protobuf:"varint,25,opt,name=forbidden_operation,json=forbiddenOperation,proto3" json:"forbidden_operation,omitempty"`
   198  	// Some servers don't do field-level instrumentation for every request and assign
   199  	// each request a "weight" for each request that they do instrument. When this
   200  	// trace is aggregated into field usage stats, it should count as this value
   201  	// towards the estimated_execution_count rather than just 1. This value should
   202  	// typically be at least 1.
   203  	//
   204  	// 0 is treated as 1 for backwards compatibility.
   205  	FieldExecutionWeight float64 `protobuf:"fixed64,31,opt,name=field_execution_weight,json=fieldExecutionWeight,proto3" json:"field_execution_weight,omitempty"`
   206  }
   207  
   208  func (x *Trace) Reset() {
   209  	*x = Trace{}
   210  	if protoimpl.UnsafeEnabled {
   211  		mi := &file_apollo_trace_proto_msgTypes[0]
   212  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   213  		ms.StoreMessageInfo(mi)
   214  	}
   215  }
   216  
   217  func (x *Trace) String() string {
   218  	return protoimpl.X.MessageStringOf(x)
   219  }
   220  
   221  func (*Trace) ProtoMessage() {}
   222  
   223  func (x *Trace) ProtoReflect() protoreflect.Message {
   224  	mi := &file_apollo_trace_proto_msgTypes[0]
   225  	if protoimpl.UnsafeEnabled && x != nil {
   226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   227  		if ms.LoadMessageInfo() == nil {
   228  			ms.StoreMessageInfo(mi)
   229  		}
   230  		return ms
   231  	}
   232  	return mi.MessageOf(x)
   233  }
   234  
   235  // Deprecated: Use Trace.ProtoReflect.Descriptor instead.
   236  func (*Trace) Descriptor() ([]byte, []int) {
   237  	return file_apollo_trace_proto_rawDescGZIP(), []int{0}
   238  }
   239  
   240  func (x *Trace) GetStartTime() *timestamppb.Timestamp {
   241  	if x != nil {
   242  		return x.StartTime
   243  	}
   244  	return nil
   245  }
   246  
   247  func (x *Trace) GetEndTime() *timestamppb.Timestamp {
   248  	if x != nil {
   249  		return x.EndTime
   250  	}
   251  	return nil
   252  }
   253  
   254  func (x *Trace) GetDurationNs() uint64 {
   255  	if x != nil {
   256  		return x.DurationNs
   257  	}
   258  	return 0
   259  }
   260  
   261  func (x *Trace) GetRoot() *Trace_Node {
   262  	if x != nil {
   263  		return x.Root
   264  	}
   265  	return nil
   266  }
   267  
   268  func (x *Trace) GetSignature() string {
   269  	if x != nil {
   270  		return x.Signature
   271  	}
   272  	return ""
   273  }
   274  
   275  func (x *Trace) GetUnexecutedOperationBody() string {
   276  	if x != nil {
   277  		return x.UnexecutedOperationBody
   278  	}
   279  	return ""
   280  }
   281  
   282  func (x *Trace) GetUnexecutedOperationName() string {
   283  	if x != nil {
   284  		return x.UnexecutedOperationName
   285  	}
   286  	return ""
   287  }
   288  
   289  func (x *Trace) GetDetails() *Trace_Details {
   290  	if x != nil {
   291  		return x.Details
   292  	}
   293  	return nil
   294  }
   295  
   296  func (x *Trace) GetClientName() string {
   297  	if x != nil {
   298  		return x.ClientName
   299  	}
   300  	return ""
   301  }
   302  
   303  func (x *Trace) GetClientVersion() string {
   304  	if x != nil {
   305  		return x.ClientVersion
   306  	}
   307  	return ""
   308  }
   309  
   310  func (x *Trace) GetHttp() *Trace_HTTP {
   311  	if x != nil {
   312  		return x.Http
   313  	}
   314  	return nil
   315  }
   316  
   317  func (x *Trace) GetCachePolicy() *Trace_CachePolicy {
   318  	if x != nil {
   319  		return x.CachePolicy
   320  	}
   321  	return nil
   322  }
   323  
   324  func (x *Trace) GetQueryPlan() *Trace_QueryPlanNode {
   325  	if x != nil {
   326  		return x.QueryPlan
   327  	}
   328  	return nil
   329  }
   330  
   331  func (x *Trace) GetFullQueryCacheHit() bool {
   332  	if x != nil {
   333  		return x.FullQueryCacheHit
   334  	}
   335  	return false
   336  }
   337  
   338  func (x *Trace) GetPersistedQueryHit() bool {
   339  	if x != nil {
   340  		return x.PersistedQueryHit
   341  	}
   342  	return false
   343  }
   344  
   345  func (x *Trace) GetPersistedQueryRegister() bool {
   346  	if x != nil {
   347  		return x.PersistedQueryRegister
   348  	}
   349  	return false
   350  }
   351  
   352  func (x *Trace) GetRegisteredOperation() bool {
   353  	if x != nil {
   354  		return x.RegisteredOperation
   355  	}
   356  	return false
   357  }
   358  
   359  func (x *Trace) GetForbiddenOperation() bool {
   360  	if x != nil {
   361  		return x.ForbiddenOperation
   362  	}
   363  	return false
   364  }
   365  
   366  func (x *Trace) GetFieldExecutionWeight() float64 {
   367  	if x != nil {
   368  		return x.FieldExecutionWeight
   369  	}
   370  	return 0
   371  }
   372  
   373  // The `service` value embedded within the header key is not guaranteed to contain an actual service,
   374  // and, in most cases, the service information is trusted to come from upstream processing. If the
   375  // service _is_ specified in this header, then it is checked to match the context that is reporting it.
   376  // Otherwise, the service information is deduced from the token context of the reporter and then sent
   377  // along via other mechanisms (in Kafka, the `ReportKafkaKey). The other information (hostname,
   378  // agent_version, etc.) is sent by the Apollo Engine Reporting agent, but we do not currently save that
   379  // information to any of our persistent storage.
   380  type ReportHeader struct {
   381  	state         protoimpl.MessageState
   382  	sizeCache     protoimpl.SizeCache
   383  	unknownFields protoimpl.UnknownFields
   384  
   385  	// eg "mygraph@myvariant"
   386  	GraphRef string `protobuf:"bytes,12,opt,name=graph_ref,json=graphRef,proto3" json:"graph_ref,omitempty"`
   387  	// eg "host-01.example.com"
   388  	Hostname string `protobuf:"bytes,5,opt,name=hostname,proto3" json:"hostname,omitempty"`
   389  	// eg "engineproxy 0.1.0"
   390  	AgentVersion string `protobuf:"bytes,6,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"` // required
   391  	// eg "prod-4279-20160804T065423Z-5-g3cf0aa8" (taken from `git describe --tags`)
   392  	ServiceVersion string `protobuf:"bytes,7,opt,name=service_version,json=serviceVersion,proto3" json:"service_version,omitempty"`
   393  	// eg "node v4.6.0"
   394  	RuntimeVersion string `protobuf:"bytes,8,opt,name=runtime_version,json=runtimeVersion,proto3" json:"runtime_version,omitempty"`
   395  	// eg "Linux box 4.6.5-1-ec2 #1 SMP Mon Aug 1 02:31:38 PDT 2016 x86_64 GNU/Linux"
   396  	Uname string `protobuf:"bytes,9,opt,name=uname,proto3" json:"uname,omitempty"`
   397  	// An id that is used to represent the schema to Apollo Graph Manager
   398  	// Using this in place of what used to be schema_hash, since that is no longer
   399  	// attached to a schema in the backend.
   400  	ExecutableSchemaId string `protobuf:"bytes,11,opt,name=executable_schema_id,json=executableSchemaId,proto3" json:"executable_schema_id,omitempty"`
   401  }
   402  
   403  func (x *ReportHeader) Reset() {
   404  	*x = ReportHeader{}
   405  	if protoimpl.UnsafeEnabled {
   406  		mi := &file_apollo_trace_proto_msgTypes[1]
   407  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   408  		ms.StoreMessageInfo(mi)
   409  	}
   410  }
   411  
   412  func (x *ReportHeader) String() string {
   413  	return protoimpl.X.MessageStringOf(x)
   414  }
   415  
   416  func (*ReportHeader) ProtoMessage() {}
   417  
   418  func (x *ReportHeader) ProtoReflect() protoreflect.Message {
   419  	mi := &file_apollo_trace_proto_msgTypes[1]
   420  	if protoimpl.UnsafeEnabled && x != nil {
   421  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   422  		if ms.LoadMessageInfo() == nil {
   423  			ms.StoreMessageInfo(mi)
   424  		}
   425  		return ms
   426  	}
   427  	return mi.MessageOf(x)
   428  }
   429  
   430  // Deprecated: Use ReportHeader.ProtoReflect.Descriptor instead.
   431  func (*ReportHeader) Descriptor() ([]byte, []int) {
   432  	return file_apollo_trace_proto_rawDescGZIP(), []int{1}
   433  }
   434  
   435  func (x *ReportHeader) GetGraphRef() string {
   436  	if x != nil {
   437  		return x.GraphRef
   438  	}
   439  	return ""
   440  }
   441  
   442  func (x *ReportHeader) GetHostname() string {
   443  	if x != nil {
   444  		return x.Hostname
   445  	}
   446  	return ""
   447  }
   448  
   449  func (x *ReportHeader) GetAgentVersion() string {
   450  	if x != nil {
   451  		return x.AgentVersion
   452  	}
   453  	return ""
   454  }
   455  
   456  func (x *ReportHeader) GetServiceVersion() string {
   457  	if x != nil {
   458  		return x.ServiceVersion
   459  	}
   460  	return ""
   461  }
   462  
   463  func (x *ReportHeader) GetRuntimeVersion() string {
   464  	if x != nil {
   465  		return x.RuntimeVersion
   466  	}
   467  	return ""
   468  }
   469  
   470  func (x *ReportHeader) GetUname() string {
   471  	if x != nil {
   472  		return x.Uname
   473  	}
   474  	return ""
   475  }
   476  
   477  func (x *ReportHeader) GetExecutableSchemaId() string {
   478  	if x != nil {
   479  		return x.ExecutableSchemaId
   480  	}
   481  	return ""
   482  }
   483  
   484  type PathErrorStats struct {
   485  	state         protoimpl.MessageState
   486  	sizeCache     protoimpl.SizeCache
   487  	unknownFields protoimpl.UnknownFields
   488  
   489  	Children                map[string]*PathErrorStats `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   490  	ErrorsCount             uint64                     `protobuf:"varint,4,opt,name=errors_count,json=errorsCount,proto3" json:"errors_count,omitempty"`
   491  	RequestsWithErrorsCount uint64                     `protobuf:"varint,5,opt,name=requests_with_errors_count,json=requestsWithErrorsCount,proto3" json:"requests_with_errors_count,omitempty"`
   492  }
   493  
   494  func (x *PathErrorStats) Reset() {
   495  	*x = PathErrorStats{}
   496  	if protoimpl.UnsafeEnabled {
   497  		mi := &file_apollo_trace_proto_msgTypes[2]
   498  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   499  		ms.StoreMessageInfo(mi)
   500  	}
   501  }
   502  
   503  func (x *PathErrorStats) String() string {
   504  	return protoimpl.X.MessageStringOf(x)
   505  }
   506  
   507  func (*PathErrorStats) ProtoMessage() {}
   508  
   509  func (x *PathErrorStats) ProtoReflect() protoreflect.Message {
   510  	mi := &file_apollo_trace_proto_msgTypes[2]
   511  	if protoimpl.UnsafeEnabled && x != nil {
   512  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   513  		if ms.LoadMessageInfo() == nil {
   514  			ms.StoreMessageInfo(mi)
   515  		}
   516  		return ms
   517  	}
   518  	return mi.MessageOf(x)
   519  }
   520  
   521  // Deprecated: Use PathErrorStats.ProtoReflect.Descriptor instead.
   522  func (*PathErrorStats) Descriptor() ([]byte, []int) {
   523  	return file_apollo_trace_proto_rawDescGZIP(), []int{2}
   524  }
   525  
   526  func (x *PathErrorStats) GetChildren() map[string]*PathErrorStats {
   527  	if x != nil {
   528  		return x.Children
   529  	}
   530  	return nil
   531  }
   532  
   533  func (x *PathErrorStats) GetErrorsCount() uint64 {
   534  	if x != nil {
   535  		return x.ErrorsCount
   536  	}
   537  	return 0
   538  }
   539  
   540  func (x *PathErrorStats) GetRequestsWithErrorsCount() uint64 {
   541  	if x != nil {
   542  		return x.RequestsWithErrorsCount
   543  	}
   544  	return 0
   545  }
   546  
   547  type QueryLatencyStats struct {
   548  	state         protoimpl.MessageState
   549  	sizeCache     protoimpl.SizeCache
   550  	unknownFields protoimpl.UnknownFields
   551  
   552  	LatencyCount             []int64         `protobuf:"zigzag64,13,rep,packed,name=latency_count,json=latencyCount,proto3" json:"latency_count,omitempty"`
   553  	RequestCount             uint64          `protobuf:"varint,2,opt,name=request_count,json=requestCount,proto3" json:"request_count,omitempty"`
   554  	CacheHits                uint64          `protobuf:"varint,3,opt,name=cache_hits,json=cacheHits,proto3" json:"cache_hits,omitempty"`
   555  	PersistedQueryHits       uint64          `protobuf:"varint,4,opt,name=persisted_query_hits,json=persistedQueryHits,proto3" json:"persisted_query_hits,omitempty"`
   556  	PersistedQueryMisses     uint64          `protobuf:"varint,5,opt,name=persisted_query_misses,json=persistedQueryMisses,proto3" json:"persisted_query_misses,omitempty"`
   557  	CacheLatencyCount        []int64         `protobuf:"zigzag64,14,rep,packed,name=cache_latency_count,json=cacheLatencyCount,proto3" json:"cache_latency_count,omitempty"`
   558  	RootErrorStats           *PathErrorStats `protobuf:"bytes,7,opt,name=root_error_stats,json=rootErrorStats,proto3" json:"root_error_stats,omitempty"`
   559  	RequestsWithErrorsCount  uint64          `protobuf:"varint,8,opt,name=requests_with_errors_count,json=requestsWithErrorsCount,proto3" json:"requests_with_errors_count,omitempty"`
   560  	PublicCacheTtlCount      []int64         `protobuf:"zigzag64,15,rep,packed,name=public_cache_ttl_count,json=publicCacheTtlCount,proto3" json:"public_cache_ttl_count,omitempty"`
   561  	PrivateCacheTtlCount     []int64         `protobuf:"zigzag64,16,rep,packed,name=private_cache_ttl_count,json=privateCacheTtlCount,proto3" json:"private_cache_ttl_count,omitempty"`
   562  	RegisteredOperationCount uint64          `protobuf:"varint,11,opt,name=registered_operation_count,json=registeredOperationCount,proto3" json:"registered_operation_count,omitempty"`
   563  	ForbiddenOperationCount  uint64          `protobuf:"varint,12,opt,name=forbidden_operation_count,json=forbiddenOperationCount,proto3" json:"forbidden_operation_count,omitempty"`
   564  	// The number of requests that were executed without field-level
   565  	// instrumentation (and thus do not contribute to `observed_execution_count`
   566  	// fields on this message's cousin-twice-removed FieldStats).
   567  	RequestsWithoutFieldInstrumentation uint64 `protobuf:"varint,17,opt,name=requests_without_field_instrumentation,json=requestsWithoutFieldInstrumentation,proto3" json:"requests_without_field_instrumentation,omitempty"`
   568  }
   569  
   570  func (x *QueryLatencyStats) Reset() {
   571  	*x = QueryLatencyStats{}
   572  	if protoimpl.UnsafeEnabled {
   573  		mi := &file_apollo_trace_proto_msgTypes[3]
   574  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   575  		ms.StoreMessageInfo(mi)
   576  	}
   577  }
   578  
   579  func (x *QueryLatencyStats) String() string {
   580  	return protoimpl.X.MessageStringOf(x)
   581  }
   582  
   583  func (*QueryLatencyStats) ProtoMessage() {}
   584  
   585  func (x *QueryLatencyStats) ProtoReflect() protoreflect.Message {
   586  	mi := &file_apollo_trace_proto_msgTypes[3]
   587  	if protoimpl.UnsafeEnabled && x != nil {
   588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   589  		if ms.LoadMessageInfo() == nil {
   590  			ms.StoreMessageInfo(mi)
   591  		}
   592  		return ms
   593  	}
   594  	return mi.MessageOf(x)
   595  }
   596  
   597  // Deprecated: Use QueryLatencyStats.ProtoReflect.Descriptor instead.
   598  func (*QueryLatencyStats) Descriptor() ([]byte, []int) {
   599  	return file_apollo_trace_proto_rawDescGZIP(), []int{3}
   600  }
   601  
   602  func (x *QueryLatencyStats) GetLatencyCount() []int64 {
   603  	if x != nil {
   604  		return x.LatencyCount
   605  	}
   606  	return nil
   607  }
   608  
   609  func (x *QueryLatencyStats) GetRequestCount() uint64 {
   610  	if x != nil {
   611  		return x.RequestCount
   612  	}
   613  	return 0
   614  }
   615  
   616  func (x *QueryLatencyStats) GetCacheHits() uint64 {
   617  	if x != nil {
   618  		return x.CacheHits
   619  	}
   620  	return 0
   621  }
   622  
   623  func (x *QueryLatencyStats) GetPersistedQueryHits() uint64 {
   624  	if x != nil {
   625  		return x.PersistedQueryHits
   626  	}
   627  	return 0
   628  }
   629  
   630  func (x *QueryLatencyStats) GetPersistedQueryMisses() uint64 {
   631  	if x != nil {
   632  		return x.PersistedQueryMisses
   633  	}
   634  	return 0
   635  }
   636  
   637  func (x *QueryLatencyStats) GetCacheLatencyCount() []int64 {
   638  	if x != nil {
   639  		return x.CacheLatencyCount
   640  	}
   641  	return nil
   642  }
   643  
   644  func (x *QueryLatencyStats) GetRootErrorStats() *PathErrorStats {
   645  	if x != nil {
   646  		return x.RootErrorStats
   647  	}
   648  	return nil
   649  }
   650  
   651  func (x *QueryLatencyStats) GetRequestsWithErrorsCount() uint64 {
   652  	if x != nil {
   653  		return x.RequestsWithErrorsCount
   654  	}
   655  	return 0
   656  }
   657  
   658  func (x *QueryLatencyStats) GetPublicCacheTtlCount() []int64 {
   659  	if x != nil {
   660  		return x.PublicCacheTtlCount
   661  	}
   662  	return nil
   663  }
   664  
   665  func (x *QueryLatencyStats) GetPrivateCacheTtlCount() []int64 {
   666  	if x != nil {
   667  		return x.PrivateCacheTtlCount
   668  	}
   669  	return nil
   670  }
   671  
   672  func (x *QueryLatencyStats) GetRegisteredOperationCount() uint64 {
   673  	if x != nil {
   674  		return x.RegisteredOperationCount
   675  	}
   676  	return 0
   677  }
   678  
   679  func (x *QueryLatencyStats) GetForbiddenOperationCount() uint64 {
   680  	if x != nil {
   681  		return x.ForbiddenOperationCount
   682  	}
   683  	return 0
   684  }
   685  
   686  func (x *QueryLatencyStats) GetRequestsWithoutFieldInstrumentation() uint64 {
   687  	if x != nil {
   688  		return x.RequestsWithoutFieldInstrumentation
   689  	}
   690  	return 0
   691  }
   692  
   693  type StatsContext struct {
   694  	state         protoimpl.MessageState
   695  	sizeCache     protoimpl.SizeCache
   696  	unknownFields protoimpl.UnknownFields
   697  
   698  	ClientName    string `protobuf:"bytes,2,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
   699  	ClientVersion string `protobuf:"bytes,3,opt,name=client_version,json=clientVersion,proto3" json:"client_version,omitempty"`
   700  }
   701  
   702  func (x *StatsContext) Reset() {
   703  	*x = StatsContext{}
   704  	if protoimpl.UnsafeEnabled {
   705  		mi := &file_apollo_trace_proto_msgTypes[4]
   706  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   707  		ms.StoreMessageInfo(mi)
   708  	}
   709  }
   710  
   711  func (x *StatsContext) String() string {
   712  	return protoimpl.X.MessageStringOf(x)
   713  }
   714  
   715  func (*StatsContext) ProtoMessage() {}
   716  
   717  func (x *StatsContext) ProtoReflect() protoreflect.Message {
   718  	mi := &file_apollo_trace_proto_msgTypes[4]
   719  	if protoimpl.UnsafeEnabled && x != nil {
   720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   721  		if ms.LoadMessageInfo() == nil {
   722  			ms.StoreMessageInfo(mi)
   723  		}
   724  		return ms
   725  	}
   726  	return mi.MessageOf(x)
   727  }
   728  
   729  // Deprecated: Use StatsContext.ProtoReflect.Descriptor instead.
   730  func (*StatsContext) Descriptor() ([]byte, []int) {
   731  	return file_apollo_trace_proto_rawDescGZIP(), []int{4}
   732  }
   733  
   734  func (x *StatsContext) GetClientName() string {
   735  	if x != nil {
   736  		return x.ClientName
   737  	}
   738  	return ""
   739  }
   740  
   741  func (x *StatsContext) GetClientVersion() string {
   742  	if x != nil {
   743  		return x.ClientVersion
   744  	}
   745  	return ""
   746  }
   747  
   748  type ContextualizedQueryLatencyStats struct {
   749  	state         protoimpl.MessageState
   750  	sizeCache     protoimpl.SizeCache
   751  	unknownFields protoimpl.UnknownFields
   752  
   753  	QueryLatencyStats *QueryLatencyStats `protobuf:"bytes,1,opt,name=query_latency_stats,json=queryLatencyStats,proto3" json:"query_latency_stats,omitempty"`
   754  	Context           *StatsContext      `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"`
   755  }
   756  
   757  func (x *ContextualizedQueryLatencyStats) Reset() {
   758  	*x = ContextualizedQueryLatencyStats{}
   759  	if protoimpl.UnsafeEnabled {
   760  		mi := &file_apollo_trace_proto_msgTypes[5]
   761  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   762  		ms.StoreMessageInfo(mi)
   763  	}
   764  }
   765  
   766  func (x *ContextualizedQueryLatencyStats) String() string {
   767  	return protoimpl.X.MessageStringOf(x)
   768  }
   769  
   770  func (*ContextualizedQueryLatencyStats) ProtoMessage() {}
   771  
   772  func (x *ContextualizedQueryLatencyStats) ProtoReflect() protoreflect.Message {
   773  	mi := &file_apollo_trace_proto_msgTypes[5]
   774  	if protoimpl.UnsafeEnabled && x != nil {
   775  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   776  		if ms.LoadMessageInfo() == nil {
   777  			ms.StoreMessageInfo(mi)
   778  		}
   779  		return ms
   780  	}
   781  	return mi.MessageOf(x)
   782  }
   783  
   784  // Deprecated: Use ContextualizedQueryLatencyStats.ProtoReflect.Descriptor instead.
   785  func (*ContextualizedQueryLatencyStats) Descriptor() ([]byte, []int) {
   786  	return file_apollo_trace_proto_rawDescGZIP(), []int{5}
   787  }
   788  
   789  func (x *ContextualizedQueryLatencyStats) GetQueryLatencyStats() *QueryLatencyStats {
   790  	if x != nil {
   791  		return x.QueryLatencyStats
   792  	}
   793  	return nil
   794  }
   795  
   796  func (x *ContextualizedQueryLatencyStats) GetContext() *StatsContext {
   797  	if x != nil {
   798  		return x.Context
   799  	}
   800  	return nil
   801  }
   802  
   803  type ContextualizedTypeStats struct {
   804  	state         protoimpl.MessageState
   805  	sizeCache     protoimpl.SizeCache
   806  	unknownFields protoimpl.UnknownFields
   807  
   808  	Context     *StatsContext        `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
   809  	PerTypeStat map[string]*TypeStat `protobuf:"bytes,2,rep,name=per_type_stat,json=perTypeStat,proto3" json:"per_type_stat,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   810  }
   811  
   812  func (x *ContextualizedTypeStats) Reset() {
   813  	*x = ContextualizedTypeStats{}
   814  	if protoimpl.UnsafeEnabled {
   815  		mi := &file_apollo_trace_proto_msgTypes[6]
   816  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   817  		ms.StoreMessageInfo(mi)
   818  	}
   819  }
   820  
   821  func (x *ContextualizedTypeStats) String() string {
   822  	return protoimpl.X.MessageStringOf(x)
   823  }
   824  
   825  func (*ContextualizedTypeStats) ProtoMessage() {}
   826  
   827  func (x *ContextualizedTypeStats) ProtoReflect() protoreflect.Message {
   828  	mi := &file_apollo_trace_proto_msgTypes[6]
   829  	if protoimpl.UnsafeEnabled && x != nil {
   830  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   831  		if ms.LoadMessageInfo() == nil {
   832  			ms.StoreMessageInfo(mi)
   833  		}
   834  		return ms
   835  	}
   836  	return mi.MessageOf(x)
   837  }
   838  
   839  // Deprecated: Use ContextualizedTypeStats.ProtoReflect.Descriptor instead.
   840  func (*ContextualizedTypeStats) Descriptor() ([]byte, []int) {
   841  	return file_apollo_trace_proto_rawDescGZIP(), []int{6}
   842  }
   843  
   844  func (x *ContextualizedTypeStats) GetContext() *StatsContext {
   845  	if x != nil {
   846  		return x.Context
   847  	}
   848  	return nil
   849  }
   850  
   851  func (x *ContextualizedTypeStats) GetPerTypeStat() map[string]*TypeStat {
   852  	if x != nil {
   853  		return x.PerTypeStat
   854  	}
   855  	return nil
   856  }
   857  
   858  type FieldStat struct {
   859  	state         protoimpl.MessageState
   860  	sizeCache     protoimpl.SizeCache
   861  	unknownFields protoimpl.UnknownFields
   862  
   863  	ReturnType string `protobuf:"bytes,3,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"` // required; eg "String!" for User.email:String!
   864  	// Number of errors whose path is this field. Note that we assume that error
   865  	// tracking does *not* require field-level instrumentation so this *will*
   866  	// include errors from requests that don't contribute to the
   867  	// `observed_execution_count` field (and does not need to be scaled by
   868  	// field_execution_weight).
   869  	ErrorsCount uint64 `protobuf:"varint,4,opt,name=errors_count,json=errorsCount,proto3" json:"errors_count,omitempty"`
   870  	// Number of times that the resolver for this field is directly observed being
   871  	// executed.
   872  	ObservedExecutionCount uint64 `protobuf:"varint,5,opt,name=observed_execution_count,json=observedExecutionCount,proto3" json:"observed_execution_count,omitempty"`
   873  	// Same as `count` but potentially scaled upwards if the server was only
   874  	// performing field-level instrumentation on a sampling of operations.  For
   875  	// example, if the server randomly instruments 1% of requests for this
   876  	// operation, this number will be 100 times greater than
   877  	// `observed_execution_count`. (When aggregating a Trace into FieldStats,
   878  	// this number goes up by the trace's `field_execution_weight` for each
   879  	// observed field execution, while `observed_execution_count` above goes
   880  	// up by 1.)
   881  	EstimatedExecutionCount uint64 `protobuf:"varint,10,opt,name=estimated_execution_count,json=estimatedExecutionCount,proto3" json:"estimated_execution_count,omitempty"`
   882  	// Number of times the resolver for this field is executed that resulted in
   883  	// at least one error. "Request" is a misnomer here as this corresponds to
   884  	// resolver calls, not overall operations. Like `errors_count` above, this
   885  	// includes all requests rather than just requests with field-level
   886  	// instrumentation.
   887  	RequestsWithErrorsCount uint64 `protobuf:"varint,6,opt,name=requests_with_errors_count,json=requestsWithErrorsCount,proto3" json:"requests_with_errors_count,omitempty"`
   888  	// Duration histogram for the latency of this field. Note that it is scaled in
   889  	// the same way as estimated_execution_count so its "total count" might be
   890  	// greater than `observed_execution_count` and may not exactly equal
   891  	// `estimated_execution_count` due to rounding.
   892  	LatencyCount []int64 `protobuf:"zigzag64,9,rep,packed,name=latency_count,json=latencyCount,proto3" json:"latency_count,omitempty"`
   893  }
   894  
   895  func (x *FieldStat) Reset() {
   896  	*x = FieldStat{}
   897  	if protoimpl.UnsafeEnabled {
   898  		mi := &file_apollo_trace_proto_msgTypes[7]
   899  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   900  		ms.StoreMessageInfo(mi)
   901  	}
   902  }
   903  
   904  func (x *FieldStat) String() string {
   905  	return protoimpl.X.MessageStringOf(x)
   906  }
   907  
   908  func (*FieldStat) ProtoMessage() {}
   909  
   910  func (x *FieldStat) ProtoReflect() protoreflect.Message {
   911  	mi := &file_apollo_trace_proto_msgTypes[7]
   912  	if protoimpl.UnsafeEnabled && x != nil {
   913  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   914  		if ms.LoadMessageInfo() == nil {
   915  			ms.StoreMessageInfo(mi)
   916  		}
   917  		return ms
   918  	}
   919  	return mi.MessageOf(x)
   920  }
   921  
   922  // Deprecated: Use FieldStat.ProtoReflect.Descriptor instead.
   923  func (*FieldStat) Descriptor() ([]byte, []int) {
   924  	return file_apollo_trace_proto_rawDescGZIP(), []int{7}
   925  }
   926  
   927  func (x *FieldStat) GetReturnType() string {
   928  	if x != nil {
   929  		return x.ReturnType
   930  	}
   931  	return ""
   932  }
   933  
   934  func (x *FieldStat) GetErrorsCount() uint64 {
   935  	if x != nil {
   936  		return x.ErrorsCount
   937  	}
   938  	return 0
   939  }
   940  
   941  func (x *FieldStat) GetObservedExecutionCount() uint64 {
   942  	if x != nil {
   943  		return x.ObservedExecutionCount
   944  	}
   945  	return 0
   946  }
   947  
   948  func (x *FieldStat) GetEstimatedExecutionCount() uint64 {
   949  	if x != nil {
   950  		return x.EstimatedExecutionCount
   951  	}
   952  	return 0
   953  }
   954  
   955  func (x *FieldStat) GetRequestsWithErrorsCount() uint64 {
   956  	if x != nil {
   957  		return x.RequestsWithErrorsCount
   958  	}
   959  	return 0
   960  }
   961  
   962  func (x *FieldStat) GetLatencyCount() []int64 {
   963  	if x != nil {
   964  		return x.LatencyCount
   965  	}
   966  	return nil
   967  }
   968  
   969  type TypeStat struct {
   970  	state         protoimpl.MessageState
   971  	sizeCache     protoimpl.SizeCache
   972  	unknownFields protoimpl.UnknownFields
   973  
   974  	// Key is (eg) "email" for User.email:String!
   975  	PerFieldStat map[string]*FieldStat `protobuf:"bytes,3,rep,name=per_field_stat,json=perFieldStat,proto3" json:"per_field_stat,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   976  }
   977  
   978  func (x *TypeStat) Reset() {
   979  	*x = TypeStat{}
   980  	if protoimpl.UnsafeEnabled {
   981  		mi := &file_apollo_trace_proto_msgTypes[8]
   982  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   983  		ms.StoreMessageInfo(mi)
   984  	}
   985  }
   986  
   987  func (x *TypeStat) String() string {
   988  	return protoimpl.X.MessageStringOf(x)
   989  }
   990  
   991  func (*TypeStat) ProtoMessage() {}
   992  
   993  func (x *TypeStat) ProtoReflect() protoreflect.Message {
   994  	mi := &file_apollo_trace_proto_msgTypes[8]
   995  	if protoimpl.UnsafeEnabled && x != nil {
   996  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   997  		if ms.LoadMessageInfo() == nil {
   998  			ms.StoreMessageInfo(mi)
   999  		}
  1000  		return ms
  1001  	}
  1002  	return mi.MessageOf(x)
  1003  }
  1004  
  1005  // Deprecated: Use TypeStat.ProtoReflect.Descriptor instead.
  1006  func (*TypeStat) Descriptor() ([]byte, []int) {
  1007  	return file_apollo_trace_proto_rawDescGZIP(), []int{8}
  1008  }
  1009  
  1010  func (x *TypeStat) GetPerFieldStat() map[string]*FieldStat {
  1011  	if x != nil {
  1012  		return x.PerFieldStat
  1013  	}
  1014  	return nil
  1015  }
  1016  
  1017  type ReferencedFieldsForType struct {
  1018  	state         protoimpl.MessageState
  1019  	sizeCache     protoimpl.SizeCache
  1020  	unknownFields protoimpl.UnknownFields
  1021  
  1022  	// Contains (eg) "email" for User.email:String!
  1023  	FieldNames []string `protobuf:"bytes,1,rep,name=field_names,json=fieldNames,proto3" json:"field_names,omitempty"`
  1024  	// True if this type is an interface.
  1025  	IsInterface bool `protobuf:"varint,2,opt,name=is_interface,json=isInterface,proto3" json:"is_interface,omitempty"`
  1026  }
  1027  
  1028  func (x *ReferencedFieldsForType) Reset() {
  1029  	*x = ReferencedFieldsForType{}
  1030  	if protoimpl.UnsafeEnabled {
  1031  		mi := &file_apollo_trace_proto_msgTypes[9]
  1032  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1033  		ms.StoreMessageInfo(mi)
  1034  	}
  1035  }
  1036  
  1037  func (x *ReferencedFieldsForType) String() string {
  1038  	return protoimpl.X.MessageStringOf(x)
  1039  }
  1040  
  1041  func (*ReferencedFieldsForType) ProtoMessage() {}
  1042  
  1043  func (x *ReferencedFieldsForType) ProtoReflect() protoreflect.Message {
  1044  	mi := &file_apollo_trace_proto_msgTypes[9]
  1045  	if protoimpl.UnsafeEnabled && x != nil {
  1046  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1047  		if ms.LoadMessageInfo() == nil {
  1048  			ms.StoreMessageInfo(mi)
  1049  		}
  1050  		return ms
  1051  	}
  1052  	return mi.MessageOf(x)
  1053  }
  1054  
  1055  // Deprecated: Use ReferencedFieldsForType.ProtoReflect.Descriptor instead.
  1056  func (*ReferencedFieldsForType) Descriptor() ([]byte, []int) {
  1057  	return file_apollo_trace_proto_rawDescGZIP(), []int{9}
  1058  }
  1059  
  1060  func (x *ReferencedFieldsForType) GetFieldNames() []string {
  1061  	if x != nil {
  1062  		return x.FieldNames
  1063  	}
  1064  	return nil
  1065  }
  1066  
  1067  func (x *ReferencedFieldsForType) GetIsInterface() bool {
  1068  	if x != nil {
  1069  		return x.IsInterface
  1070  	}
  1071  	return false
  1072  }
  1073  
  1074  // This is the top-level message used by the new traces ingress. This
  1075  // is designed for the apollo-engine-reporting TypeScript agent and will
  1076  // eventually be documented as a public ingress API. This message consists
  1077  // solely of traces; the equivalent of the StatsReport is automatically
  1078  // generated server-side from this message. Agent should either send a trace or include it in the stats
  1079  // for every request in this report. Generally, buffering up until a large
  1080  // size has been reached (say, 4MB) or 5-10 seconds has passed is appropriate.
  1081  // This message used to be know as FullTracesReport, but got renamed since it isn't just for traces anymore
  1082  type Report struct {
  1083  	state         protoimpl.MessageState
  1084  	sizeCache     protoimpl.SizeCache
  1085  	unknownFields protoimpl.UnknownFields
  1086  
  1087  	Header *ReportHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
  1088  	// key is statsReportKey (# operationName\nsignature) Note that the nested
  1089  	// traces will *not* have a signature or details.operationName (because the
  1090  	// key is adequate).
  1091  	//
  1092  	// We also assume that traces don't have
  1093  	// legacy_per_query_implicit_operation_name, and we don't require them to have
  1094  	// details.raw_query (which would consume a lot of space and has privacy/data
  1095  	// access issues, and isn't currently exposed by our app anyway).
  1096  	TracesPerQuery map[string]*TracesAndStats `protobuf:"bytes,5,rep,name=traces_per_query,json=tracesPerQuery,proto3" json:"traces_per_query,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1097  	// This is the time that the requests in this trace are considered to have taken place
  1098  	// If this field is not present the max of the end_time of each trace will be used instead.
  1099  	// If there are no traces and no end_time present the report will not be able to be processed.
  1100  	// Note: This will override the end_time from traces.
  1101  	EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // required if no traces in this message
  1102  	// Total number of operations processed during this period.
  1103  	OperationCount uint64 `protobuf:"varint,6,opt,name=operation_count,json=operationCount,proto3" json:"operation_count,omitempty"`
  1104  }
  1105  
  1106  func (x *Report) Reset() {
  1107  	*x = Report{}
  1108  	if protoimpl.UnsafeEnabled {
  1109  		mi := &file_apollo_trace_proto_msgTypes[10]
  1110  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1111  		ms.StoreMessageInfo(mi)
  1112  	}
  1113  }
  1114  
  1115  func (x *Report) String() string {
  1116  	return protoimpl.X.MessageStringOf(x)
  1117  }
  1118  
  1119  func (*Report) ProtoMessage() {}
  1120  
  1121  func (x *Report) ProtoReflect() protoreflect.Message {
  1122  	mi := &file_apollo_trace_proto_msgTypes[10]
  1123  	if protoimpl.UnsafeEnabled && x != nil {
  1124  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1125  		if ms.LoadMessageInfo() == nil {
  1126  			ms.StoreMessageInfo(mi)
  1127  		}
  1128  		return ms
  1129  	}
  1130  	return mi.MessageOf(x)
  1131  }
  1132  
  1133  // Deprecated: Use Report.ProtoReflect.Descriptor instead.
  1134  func (*Report) Descriptor() ([]byte, []int) {
  1135  	return file_apollo_trace_proto_rawDescGZIP(), []int{10}
  1136  }
  1137  
  1138  func (x *Report) GetHeader() *ReportHeader {
  1139  	if x != nil {
  1140  		return x.Header
  1141  	}
  1142  	return nil
  1143  }
  1144  
  1145  func (x *Report) GetTracesPerQuery() map[string]*TracesAndStats {
  1146  	if x != nil {
  1147  		return x.TracesPerQuery
  1148  	}
  1149  	return nil
  1150  }
  1151  
  1152  func (x *Report) GetEndTime() *timestamppb.Timestamp {
  1153  	if x != nil {
  1154  		return x.EndTime
  1155  	}
  1156  	return nil
  1157  }
  1158  
  1159  func (x *Report) GetOperationCount() uint64 {
  1160  	if x != nil {
  1161  		return x.OperationCount
  1162  	}
  1163  	return 0
  1164  }
  1165  
  1166  type ContextualizedStats struct {
  1167  	state         protoimpl.MessageState
  1168  	sizeCache     protoimpl.SizeCache
  1169  	unknownFields protoimpl.UnknownFields
  1170  
  1171  	Context           *StatsContext      `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
  1172  	QueryLatencyStats *QueryLatencyStats `protobuf:"bytes,2,opt,name=query_latency_stats,json=queryLatencyStats,proto3" json:"query_latency_stats,omitempty"`
  1173  	// Key is type name. This structure provides data for the count and latency of individual
  1174  	// field executions and thus only reflects operations for which field-level tracing occurred.
  1175  	PerTypeStat map[string]*TypeStat `protobuf:"bytes,3,rep,name=per_type_stat,json=perTypeStat,proto3" json:"per_type_stat,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1176  }
  1177  
  1178  func (x *ContextualizedStats) Reset() {
  1179  	*x = ContextualizedStats{}
  1180  	if protoimpl.UnsafeEnabled {
  1181  		mi := &file_apollo_trace_proto_msgTypes[11]
  1182  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1183  		ms.StoreMessageInfo(mi)
  1184  	}
  1185  }
  1186  
  1187  func (x *ContextualizedStats) String() string {
  1188  	return protoimpl.X.MessageStringOf(x)
  1189  }
  1190  
  1191  func (*ContextualizedStats) ProtoMessage() {}
  1192  
  1193  func (x *ContextualizedStats) ProtoReflect() protoreflect.Message {
  1194  	mi := &file_apollo_trace_proto_msgTypes[11]
  1195  	if protoimpl.UnsafeEnabled && x != nil {
  1196  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1197  		if ms.LoadMessageInfo() == nil {
  1198  			ms.StoreMessageInfo(mi)
  1199  		}
  1200  		return ms
  1201  	}
  1202  	return mi.MessageOf(x)
  1203  }
  1204  
  1205  // Deprecated: Use ContextualizedStats.ProtoReflect.Descriptor instead.
  1206  func (*ContextualizedStats) Descriptor() ([]byte, []int) {
  1207  	return file_apollo_trace_proto_rawDescGZIP(), []int{11}
  1208  }
  1209  
  1210  func (x *ContextualizedStats) GetContext() *StatsContext {
  1211  	if x != nil {
  1212  		return x.Context
  1213  	}
  1214  	return nil
  1215  }
  1216  
  1217  func (x *ContextualizedStats) GetQueryLatencyStats() *QueryLatencyStats {
  1218  	if x != nil {
  1219  		return x.QueryLatencyStats
  1220  	}
  1221  	return nil
  1222  }
  1223  
  1224  func (x *ContextualizedStats) GetPerTypeStat() map[string]*TypeStat {
  1225  	if x != nil {
  1226  		return x.PerTypeStat
  1227  	}
  1228  	return nil
  1229  }
  1230  
  1231  // A sequence of traces and stats. An individual operation should either be described as a trace
  1232  // or as part of stats, but not both.
  1233  type TracesAndStats struct {
  1234  	state         protoimpl.MessageState
  1235  	sizeCache     protoimpl.SizeCache
  1236  	unknownFields protoimpl.UnknownFields
  1237  
  1238  	Trace            []*Trace               `protobuf:"bytes,1,rep,name=trace,proto3" json:"trace,omitempty"`
  1239  	StatsWithContext []*ContextualizedStats `protobuf:"bytes,2,rep,name=stats_with_context,json=statsWithContext,proto3" json:"stats_with_context,omitempty"`
  1240  	// This describes the fields referenced in the operation. Note that this may
  1241  	// include fields that don't show up in FieldStats (due to being interface fields,
  1242  	// being nested under null fields or empty lists or non-matching fragments or
  1243  	// `@include` or `@skip`, etc). It also may be missing fields that show up in FieldStats
  1244  	// (as FieldStats will include the concrete object type for fields referenced
  1245  	// via an interface type).
  1246  	ReferencedFieldsByType map[string]*ReferencedFieldsForType `protobuf:"bytes,4,rep,name=referenced_fields_by_type,json=referencedFieldsByType,proto3" json:"referenced_fields_by_type,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1247  	// This field is used to validate that the algorithm used to construct `stats_with_context`
  1248  	// matches similar algorithms in Apollo's servers. It is otherwise ignored and should not
  1249  	// be included in reports.
  1250  	InternalTracesContributingToStats []*Trace `protobuf:"bytes,3,rep,name=internal_traces_contributing_to_stats,json=internalTracesContributingToStats,proto3" json:"internal_traces_contributing_to_stats,omitempty"`
  1251  }
  1252  
  1253  func (x *TracesAndStats) Reset() {
  1254  	*x = TracesAndStats{}
  1255  	if protoimpl.UnsafeEnabled {
  1256  		mi := &file_apollo_trace_proto_msgTypes[12]
  1257  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1258  		ms.StoreMessageInfo(mi)
  1259  	}
  1260  }
  1261  
  1262  func (x *TracesAndStats) String() string {
  1263  	return protoimpl.X.MessageStringOf(x)
  1264  }
  1265  
  1266  func (*TracesAndStats) ProtoMessage() {}
  1267  
  1268  func (x *TracesAndStats) ProtoReflect() protoreflect.Message {
  1269  	mi := &file_apollo_trace_proto_msgTypes[12]
  1270  	if protoimpl.UnsafeEnabled && x != nil {
  1271  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1272  		if ms.LoadMessageInfo() == nil {
  1273  			ms.StoreMessageInfo(mi)
  1274  		}
  1275  		return ms
  1276  	}
  1277  	return mi.MessageOf(x)
  1278  }
  1279  
  1280  // Deprecated: Use TracesAndStats.ProtoReflect.Descriptor instead.
  1281  func (*TracesAndStats) Descriptor() ([]byte, []int) {
  1282  	return file_apollo_trace_proto_rawDescGZIP(), []int{12}
  1283  }
  1284  
  1285  func (x *TracesAndStats) GetTrace() []*Trace {
  1286  	if x != nil {
  1287  		return x.Trace
  1288  	}
  1289  	return nil
  1290  }
  1291  
  1292  func (x *TracesAndStats) GetStatsWithContext() []*ContextualizedStats {
  1293  	if x != nil {
  1294  		return x.StatsWithContext
  1295  	}
  1296  	return nil
  1297  }
  1298  
  1299  func (x *TracesAndStats) GetReferencedFieldsByType() map[string]*ReferencedFieldsForType {
  1300  	if x != nil {
  1301  		return x.ReferencedFieldsByType
  1302  	}
  1303  	return nil
  1304  }
  1305  
  1306  func (x *TracesAndStats) GetInternalTracesContributingToStats() []*Trace {
  1307  	if x != nil {
  1308  		return x.InternalTracesContributingToStats
  1309  	}
  1310  	return nil
  1311  }
  1312  
  1313  type Trace_CachePolicy struct {
  1314  	state         protoimpl.MessageState
  1315  	sizeCache     protoimpl.SizeCache
  1316  	unknownFields protoimpl.UnknownFields
  1317  
  1318  	Scope    Trace_CachePolicy_Scope `protobuf:"varint,1,opt,name=scope,proto3,enum=Trace_CachePolicy_Scope" json:"scope,omitempty"`
  1319  	MaxAgeNs int64                   `protobuf:"varint,2,opt,name=max_age_ns,json=maxAgeNs,proto3" json:"max_age_ns,omitempty"` // use 0 for absent, -1 for 0
  1320  }
  1321  
  1322  func (x *Trace_CachePolicy) Reset() {
  1323  	*x = Trace_CachePolicy{}
  1324  	if protoimpl.UnsafeEnabled {
  1325  		mi := &file_apollo_trace_proto_msgTypes[13]
  1326  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1327  		ms.StoreMessageInfo(mi)
  1328  	}
  1329  }
  1330  
  1331  func (x *Trace_CachePolicy) String() string {
  1332  	return protoimpl.X.MessageStringOf(x)
  1333  }
  1334  
  1335  func (*Trace_CachePolicy) ProtoMessage() {}
  1336  
  1337  func (x *Trace_CachePolicy) ProtoReflect() protoreflect.Message {
  1338  	mi := &file_apollo_trace_proto_msgTypes[13]
  1339  	if protoimpl.UnsafeEnabled && x != nil {
  1340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1341  		if ms.LoadMessageInfo() == nil {
  1342  			ms.StoreMessageInfo(mi)
  1343  		}
  1344  		return ms
  1345  	}
  1346  	return mi.MessageOf(x)
  1347  }
  1348  
  1349  // Deprecated: Use Trace_CachePolicy.ProtoReflect.Descriptor instead.
  1350  func (*Trace_CachePolicy) Descriptor() ([]byte, []int) {
  1351  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 0}
  1352  }
  1353  
  1354  func (x *Trace_CachePolicy) GetScope() Trace_CachePolicy_Scope {
  1355  	if x != nil {
  1356  		return x.Scope
  1357  	}
  1358  	return Trace_CachePolicy_UNKNOWN
  1359  }
  1360  
  1361  func (x *Trace_CachePolicy) GetMaxAgeNs() int64 {
  1362  	if x != nil {
  1363  		return x.MaxAgeNs
  1364  	}
  1365  	return 0
  1366  }
  1367  
  1368  type Trace_Details struct {
  1369  	state         protoimpl.MessageState
  1370  	sizeCache     protoimpl.SizeCache
  1371  	unknownFields protoimpl.UnknownFields
  1372  
  1373  	// The variables associated with this query (unless the reporting agent is
  1374  	// configured to keep them all private). Values are JSON: ie, strings are
  1375  	// enclosed in double quotes, etc.  The value of a private variable is
  1376  	// the empty string.
  1377  	VariablesJson map[string]string `protobuf:"bytes,4,rep,name=variables_json,json=variablesJson,proto3" json:"variables_json,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1378  	// This is deprecated and only used for legacy applications
  1379  	// don't include this in traces inside a FullTracesReport; the operation
  1380  	// name for these traces comes from the key of the traces_per_query map.
  1381  	OperationName string `protobuf:"bytes,3,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty"`
  1382  }
  1383  
  1384  func (x *Trace_Details) Reset() {
  1385  	*x = Trace_Details{}
  1386  	if protoimpl.UnsafeEnabled {
  1387  		mi := &file_apollo_trace_proto_msgTypes[14]
  1388  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1389  		ms.StoreMessageInfo(mi)
  1390  	}
  1391  }
  1392  
  1393  func (x *Trace_Details) String() string {
  1394  	return protoimpl.X.MessageStringOf(x)
  1395  }
  1396  
  1397  func (*Trace_Details) ProtoMessage() {}
  1398  
  1399  func (x *Trace_Details) ProtoReflect() protoreflect.Message {
  1400  	mi := &file_apollo_trace_proto_msgTypes[14]
  1401  	if protoimpl.UnsafeEnabled && x != nil {
  1402  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1403  		if ms.LoadMessageInfo() == nil {
  1404  			ms.StoreMessageInfo(mi)
  1405  		}
  1406  		return ms
  1407  	}
  1408  	return mi.MessageOf(x)
  1409  }
  1410  
  1411  // Deprecated: Use Trace_Details.ProtoReflect.Descriptor instead.
  1412  func (*Trace_Details) Descriptor() ([]byte, []int) {
  1413  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 1}
  1414  }
  1415  
  1416  func (x *Trace_Details) GetVariablesJson() map[string]string {
  1417  	if x != nil {
  1418  		return x.VariablesJson
  1419  	}
  1420  	return nil
  1421  }
  1422  
  1423  func (x *Trace_Details) GetOperationName() string {
  1424  	if x != nil {
  1425  		return x.OperationName
  1426  	}
  1427  	return ""
  1428  }
  1429  
  1430  type Trace_Error struct {
  1431  	state         protoimpl.MessageState
  1432  	sizeCache     protoimpl.SizeCache
  1433  	unknownFields protoimpl.UnknownFields
  1434  
  1435  	Message  string            `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // required
  1436  	Location []*Trace_Location `protobuf:"bytes,2,rep,name=location,proto3" json:"location,omitempty"`
  1437  	TimeNs   uint64            `protobuf:"varint,3,opt,name=time_ns,json=timeNs,proto3" json:"time_ns,omitempty"`
  1438  	Json     string            `protobuf:"bytes,4,opt,name=json,proto3" json:"json,omitempty"`
  1439  }
  1440  
  1441  func (x *Trace_Error) Reset() {
  1442  	*x = Trace_Error{}
  1443  	if protoimpl.UnsafeEnabled {
  1444  		mi := &file_apollo_trace_proto_msgTypes[15]
  1445  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1446  		ms.StoreMessageInfo(mi)
  1447  	}
  1448  }
  1449  
  1450  func (x *Trace_Error) String() string {
  1451  	return protoimpl.X.MessageStringOf(x)
  1452  }
  1453  
  1454  func (*Trace_Error) ProtoMessage() {}
  1455  
  1456  func (x *Trace_Error) ProtoReflect() protoreflect.Message {
  1457  	mi := &file_apollo_trace_proto_msgTypes[15]
  1458  	if protoimpl.UnsafeEnabled && x != nil {
  1459  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1460  		if ms.LoadMessageInfo() == nil {
  1461  			ms.StoreMessageInfo(mi)
  1462  		}
  1463  		return ms
  1464  	}
  1465  	return mi.MessageOf(x)
  1466  }
  1467  
  1468  // Deprecated: Use Trace_Error.ProtoReflect.Descriptor instead.
  1469  func (*Trace_Error) Descriptor() ([]byte, []int) {
  1470  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 2}
  1471  }
  1472  
  1473  func (x *Trace_Error) GetMessage() string {
  1474  	if x != nil {
  1475  		return x.Message
  1476  	}
  1477  	return ""
  1478  }
  1479  
  1480  func (x *Trace_Error) GetLocation() []*Trace_Location {
  1481  	if x != nil {
  1482  		return x.Location
  1483  	}
  1484  	return nil
  1485  }
  1486  
  1487  func (x *Trace_Error) GetTimeNs() uint64 {
  1488  	if x != nil {
  1489  		return x.TimeNs
  1490  	}
  1491  	return 0
  1492  }
  1493  
  1494  func (x *Trace_Error) GetJson() string {
  1495  	if x != nil {
  1496  		return x.Json
  1497  	}
  1498  	return ""
  1499  }
  1500  
  1501  type Trace_HTTP struct {
  1502  	state         protoimpl.MessageState
  1503  	sizeCache     protoimpl.SizeCache
  1504  	unknownFields protoimpl.UnknownFields
  1505  
  1506  	Method Trace_HTTP_Method `protobuf:"varint,1,opt,name=method,proto3,enum=Trace_HTTP_Method" json:"method,omitempty"`
  1507  	Host   string            `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
  1508  	Path   string            `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
  1509  	// Should exclude manual blacklist ("Auth" by default)
  1510  	RequestHeaders  map[string]*Trace_HTTP_Values `protobuf:"bytes,4,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1511  	ResponseHeaders map[string]*Trace_HTTP_Values `protobuf:"bytes,5,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1512  	StatusCode      uint32                        `protobuf:"varint,6,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
  1513  	Secure          bool                          `protobuf:"varint,8,opt,name=secure,proto3" json:"secure,omitempty"`    // TLS was used
  1514  	Protocol        string                        `protobuf:"bytes,9,opt,name=protocol,proto3" json:"protocol,omitempty"` // by convention "HTTP/1.0", "HTTP/1.1", "HTTP/2" or "h2"
  1515  }
  1516  
  1517  func (x *Trace_HTTP) Reset() {
  1518  	*x = Trace_HTTP{}
  1519  	if protoimpl.UnsafeEnabled {
  1520  		mi := &file_apollo_trace_proto_msgTypes[16]
  1521  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1522  		ms.StoreMessageInfo(mi)
  1523  	}
  1524  }
  1525  
  1526  func (x *Trace_HTTP) String() string {
  1527  	return protoimpl.X.MessageStringOf(x)
  1528  }
  1529  
  1530  func (*Trace_HTTP) ProtoMessage() {}
  1531  
  1532  func (x *Trace_HTTP) ProtoReflect() protoreflect.Message {
  1533  	mi := &file_apollo_trace_proto_msgTypes[16]
  1534  	if protoimpl.UnsafeEnabled && x != nil {
  1535  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1536  		if ms.LoadMessageInfo() == nil {
  1537  			ms.StoreMessageInfo(mi)
  1538  		}
  1539  		return ms
  1540  	}
  1541  	return mi.MessageOf(x)
  1542  }
  1543  
  1544  // Deprecated: Use Trace_HTTP.ProtoReflect.Descriptor instead.
  1545  func (*Trace_HTTP) Descriptor() ([]byte, []int) {
  1546  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 3}
  1547  }
  1548  
  1549  func (x *Trace_HTTP) GetMethod() Trace_HTTP_Method {
  1550  	if x != nil {
  1551  		return x.Method
  1552  	}
  1553  	return Trace_HTTP_UNKNOWN
  1554  }
  1555  
  1556  func (x *Trace_HTTP) GetHost() string {
  1557  	if x != nil {
  1558  		return x.Host
  1559  	}
  1560  	return ""
  1561  }
  1562  
  1563  func (x *Trace_HTTP) GetPath() string {
  1564  	if x != nil {
  1565  		return x.Path
  1566  	}
  1567  	return ""
  1568  }
  1569  
  1570  func (x *Trace_HTTP) GetRequestHeaders() map[string]*Trace_HTTP_Values {
  1571  	if x != nil {
  1572  		return x.RequestHeaders
  1573  	}
  1574  	return nil
  1575  }
  1576  
  1577  func (x *Trace_HTTP) GetResponseHeaders() map[string]*Trace_HTTP_Values {
  1578  	if x != nil {
  1579  		return x.ResponseHeaders
  1580  	}
  1581  	return nil
  1582  }
  1583  
  1584  func (x *Trace_HTTP) GetStatusCode() uint32 {
  1585  	if x != nil {
  1586  		return x.StatusCode
  1587  	}
  1588  	return 0
  1589  }
  1590  
  1591  func (x *Trace_HTTP) GetSecure() bool {
  1592  	if x != nil {
  1593  		return x.Secure
  1594  	}
  1595  	return false
  1596  }
  1597  
  1598  func (x *Trace_HTTP) GetProtocol() string {
  1599  	if x != nil {
  1600  		return x.Protocol
  1601  	}
  1602  	return ""
  1603  }
  1604  
  1605  type Trace_Location struct {
  1606  	state         protoimpl.MessageState
  1607  	sizeCache     protoimpl.SizeCache
  1608  	unknownFields protoimpl.UnknownFields
  1609  
  1610  	Line   uint32 `protobuf:"varint,1,opt,name=line,proto3" json:"line,omitempty"`
  1611  	Column uint32 `protobuf:"varint,2,opt,name=column,proto3" json:"column,omitempty"`
  1612  }
  1613  
  1614  func (x *Trace_Location) Reset() {
  1615  	*x = Trace_Location{}
  1616  	if protoimpl.UnsafeEnabled {
  1617  		mi := &file_apollo_trace_proto_msgTypes[17]
  1618  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1619  		ms.StoreMessageInfo(mi)
  1620  	}
  1621  }
  1622  
  1623  func (x *Trace_Location) String() string {
  1624  	return protoimpl.X.MessageStringOf(x)
  1625  }
  1626  
  1627  func (*Trace_Location) ProtoMessage() {}
  1628  
  1629  func (x *Trace_Location) ProtoReflect() protoreflect.Message {
  1630  	mi := &file_apollo_trace_proto_msgTypes[17]
  1631  	if protoimpl.UnsafeEnabled && x != nil {
  1632  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1633  		if ms.LoadMessageInfo() == nil {
  1634  			ms.StoreMessageInfo(mi)
  1635  		}
  1636  		return ms
  1637  	}
  1638  	return mi.MessageOf(x)
  1639  }
  1640  
  1641  // Deprecated: Use Trace_Location.ProtoReflect.Descriptor instead.
  1642  func (*Trace_Location) Descriptor() ([]byte, []int) {
  1643  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 4}
  1644  }
  1645  
  1646  func (x *Trace_Location) GetLine() uint32 {
  1647  	if x != nil {
  1648  		return x.Line
  1649  	}
  1650  	return 0
  1651  }
  1652  
  1653  func (x *Trace_Location) GetColumn() uint32 {
  1654  	if x != nil {
  1655  		return x.Column
  1656  	}
  1657  	return 0
  1658  }
  1659  
  1660  // We store information on each resolver execution as a Node on a tree.
  1661  // The structure of the tree corresponds to the structure of the GraphQL
  1662  // response; it does not indicate the order in which resolvers were
  1663  // invoked.  Note that nodes representing indexes (and the root node)
  1664  // don't contain all Node fields (eg types and times).
  1665  type Trace_Node struct {
  1666  	state         protoimpl.MessageState
  1667  	sizeCache     protoimpl.SizeCache
  1668  	unknownFields protoimpl.UnknownFields
  1669  
  1670  	// The name of the field (for Nodes representing a resolver call) or the
  1671  	// index in a list (for intermediate Nodes representing elements of a list).
  1672  	// field_name is the name of the field as it appears in the GraphQL
  1673  	// response: ie, it may be an alias.  (In that case, the original_field_name
  1674  	// field holds the actual field name from the schema.) In any context where
  1675  	// we're building up a path, we use the response_name rather than the
  1676  	// original_field_name.
  1677  	//
  1678  	// Types that are assignable to Id:
  1679  	//	*Trace_Node_ResponseName
  1680  	//	*Trace_Node_Index
  1681  	Id                isTrace_Node_Id `protobuf_oneof:"id"`
  1682  	OriginalFieldName string          `protobuf:"bytes,14,opt,name=original_field_name,json=originalFieldName,proto3" json:"original_field_name,omitempty"`
  1683  	// The field's return type; e.g. "String!" for User.email:String!
  1684  	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
  1685  	// The field's parent type; e.g. "User" for User.email:String!
  1686  	ParentType  string             `protobuf:"bytes,13,opt,name=parent_type,json=parentType,proto3" json:"parent_type,omitempty"`
  1687  	CachePolicy *Trace_CachePolicy `protobuf:"bytes,5,opt,name=cache_policy,json=cachePolicy,proto3" json:"cache_policy,omitempty"`
  1688  	// relative to the trace's start_time, in ns
  1689  	StartTime uint64 `protobuf:"varint,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  1690  	// relative to the trace's start_time, in ns
  1691  	EndTime uint64         `protobuf:"varint,9,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  1692  	Error   []*Trace_Error `protobuf:"bytes,11,rep,name=error,proto3" json:"error,omitempty"`
  1693  	Child   []*Trace_Node  `protobuf:"bytes,12,rep,name=child,proto3" json:"child,omitempty"`
  1694  }
  1695  
  1696  func (x *Trace_Node) Reset() {
  1697  	*x = Trace_Node{}
  1698  	if protoimpl.UnsafeEnabled {
  1699  		mi := &file_apollo_trace_proto_msgTypes[18]
  1700  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1701  		ms.StoreMessageInfo(mi)
  1702  	}
  1703  }
  1704  
  1705  func (x *Trace_Node) String() string {
  1706  	return protoimpl.X.MessageStringOf(x)
  1707  }
  1708  
  1709  func (*Trace_Node) ProtoMessage() {}
  1710  
  1711  func (x *Trace_Node) ProtoReflect() protoreflect.Message {
  1712  	mi := &file_apollo_trace_proto_msgTypes[18]
  1713  	if protoimpl.UnsafeEnabled && x != nil {
  1714  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1715  		if ms.LoadMessageInfo() == nil {
  1716  			ms.StoreMessageInfo(mi)
  1717  		}
  1718  		return ms
  1719  	}
  1720  	return mi.MessageOf(x)
  1721  }
  1722  
  1723  // Deprecated: Use Trace_Node.ProtoReflect.Descriptor instead.
  1724  func (*Trace_Node) Descriptor() ([]byte, []int) {
  1725  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 5}
  1726  }
  1727  
  1728  func (m *Trace_Node) GetId() isTrace_Node_Id {
  1729  	if m != nil {
  1730  		return m.Id
  1731  	}
  1732  	return nil
  1733  }
  1734  
  1735  func (x *Trace_Node) GetResponseName() string {
  1736  	if x, ok := x.GetId().(*Trace_Node_ResponseName); ok {
  1737  		return x.ResponseName
  1738  	}
  1739  	return ""
  1740  }
  1741  
  1742  func (x *Trace_Node) GetIndex() uint32 {
  1743  	if x, ok := x.GetId().(*Trace_Node_Index); ok {
  1744  		return x.Index
  1745  	}
  1746  	return 0
  1747  }
  1748  
  1749  func (x *Trace_Node) GetOriginalFieldName() string {
  1750  	if x != nil {
  1751  		return x.OriginalFieldName
  1752  	}
  1753  	return ""
  1754  }
  1755  
  1756  func (x *Trace_Node) GetType() string {
  1757  	if x != nil {
  1758  		return x.Type
  1759  	}
  1760  	return ""
  1761  }
  1762  
  1763  func (x *Trace_Node) GetParentType() string {
  1764  	if x != nil {
  1765  		return x.ParentType
  1766  	}
  1767  	return ""
  1768  }
  1769  
  1770  func (x *Trace_Node) GetCachePolicy() *Trace_CachePolicy {
  1771  	if x != nil {
  1772  		return x.CachePolicy
  1773  	}
  1774  	return nil
  1775  }
  1776  
  1777  func (x *Trace_Node) GetStartTime() uint64 {
  1778  	if x != nil {
  1779  		return x.StartTime
  1780  	}
  1781  	return 0
  1782  }
  1783  
  1784  func (x *Trace_Node) GetEndTime() uint64 {
  1785  	if x != nil {
  1786  		return x.EndTime
  1787  	}
  1788  	return 0
  1789  }
  1790  
  1791  func (x *Trace_Node) GetError() []*Trace_Error {
  1792  	if x != nil {
  1793  		return x.Error
  1794  	}
  1795  	return nil
  1796  }
  1797  
  1798  func (x *Trace_Node) GetChild() []*Trace_Node {
  1799  	if x != nil {
  1800  		return x.Child
  1801  	}
  1802  	return nil
  1803  }
  1804  
  1805  type isTrace_Node_Id interface {
  1806  	isTrace_Node_Id()
  1807  }
  1808  
  1809  type Trace_Node_ResponseName struct {
  1810  	ResponseName string `protobuf:"bytes,1,opt,name=response_name,json=responseName,proto3,oneof"`
  1811  }
  1812  
  1813  type Trace_Node_Index struct {
  1814  	Index uint32 `protobuf:"varint,2,opt,name=index,proto3,oneof"`
  1815  }
  1816  
  1817  func (*Trace_Node_ResponseName) isTrace_Node_Id() {}
  1818  
  1819  func (*Trace_Node_Index) isTrace_Node_Id() {}
  1820  
  1821  // represents a node in the query plan, under which there is a trace tree for that service fetch.
  1822  // In particular, each fetch node represents a call to an implementing service, and calls to implementing
  1823  // services may not be unique. See https://github.com/apollographql/apollo-server/blob/main/packages/apollo-gateway/src/QueryPlan.ts
  1824  // for more information and details.
  1825  type Trace_QueryPlanNode struct {
  1826  	state         protoimpl.MessageState
  1827  	sizeCache     protoimpl.SizeCache
  1828  	unknownFields protoimpl.UnknownFields
  1829  
  1830  	// Types that are assignable to Node:
  1831  	//	*Trace_QueryPlanNode_Sequence
  1832  	//	*Trace_QueryPlanNode_Parallel
  1833  	//	*Trace_QueryPlanNode_Fetch
  1834  	//	*Trace_QueryPlanNode_Flatten
  1835  	Node isTrace_QueryPlanNode_Node `protobuf_oneof:"node"`
  1836  }
  1837  
  1838  func (x *Trace_QueryPlanNode) Reset() {
  1839  	*x = Trace_QueryPlanNode{}
  1840  	if protoimpl.UnsafeEnabled {
  1841  		mi := &file_apollo_trace_proto_msgTypes[19]
  1842  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1843  		ms.StoreMessageInfo(mi)
  1844  	}
  1845  }
  1846  
  1847  func (x *Trace_QueryPlanNode) String() string {
  1848  	return protoimpl.X.MessageStringOf(x)
  1849  }
  1850  
  1851  func (*Trace_QueryPlanNode) ProtoMessage() {}
  1852  
  1853  func (x *Trace_QueryPlanNode) ProtoReflect() protoreflect.Message {
  1854  	mi := &file_apollo_trace_proto_msgTypes[19]
  1855  	if protoimpl.UnsafeEnabled && x != nil {
  1856  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1857  		if ms.LoadMessageInfo() == nil {
  1858  			ms.StoreMessageInfo(mi)
  1859  		}
  1860  		return ms
  1861  	}
  1862  	return mi.MessageOf(x)
  1863  }
  1864  
  1865  // Deprecated: Use Trace_QueryPlanNode.ProtoReflect.Descriptor instead.
  1866  func (*Trace_QueryPlanNode) Descriptor() ([]byte, []int) {
  1867  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6}
  1868  }
  1869  
  1870  func (m *Trace_QueryPlanNode) GetNode() isTrace_QueryPlanNode_Node {
  1871  	if m != nil {
  1872  		return m.Node
  1873  	}
  1874  	return nil
  1875  }
  1876  
  1877  func (x *Trace_QueryPlanNode) GetSequence() *Trace_QueryPlanNode_SequenceNode {
  1878  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Sequence); ok {
  1879  		return x.Sequence
  1880  	}
  1881  	return nil
  1882  }
  1883  
  1884  func (x *Trace_QueryPlanNode) GetParallel() *Trace_QueryPlanNode_ParallelNode {
  1885  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Parallel); ok {
  1886  		return x.Parallel
  1887  	}
  1888  	return nil
  1889  }
  1890  
  1891  func (x *Trace_QueryPlanNode) GetFetch() *Trace_QueryPlanNode_FetchNode {
  1892  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Fetch); ok {
  1893  		return x.Fetch
  1894  	}
  1895  	return nil
  1896  }
  1897  
  1898  func (x *Trace_QueryPlanNode) GetFlatten() *Trace_QueryPlanNode_FlattenNode {
  1899  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Flatten); ok {
  1900  		return x.Flatten
  1901  	}
  1902  	return nil
  1903  }
  1904  
  1905  type isTrace_QueryPlanNode_Node interface {
  1906  	isTrace_QueryPlanNode_Node()
  1907  }
  1908  
  1909  type Trace_QueryPlanNode_Sequence struct {
  1910  	Sequence *Trace_QueryPlanNode_SequenceNode `protobuf:"bytes,1,opt,name=sequence,proto3,oneof"`
  1911  }
  1912  
  1913  type Trace_QueryPlanNode_Parallel struct {
  1914  	Parallel *Trace_QueryPlanNode_ParallelNode `protobuf:"bytes,2,opt,name=parallel,proto3,oneof"`
  1915  }
  1916  
  1917  type Trace_QueryPlanNode_Fetch struct {
  1918  	Fetch *Trace_QueryPlanNode_FetchNode `protobuf:"bytes,3,opt,name=fetch,proto3,oneof"`
  1919  }
  1920  
  1921  type Trace_QueryPlanNode_Flatten struct {
  1922  	Flatten *Trace_QueryPlanNode_FlattenNode `protobuf:"bytes,4,opt,name=flatten,proto3,oneof"`
  1923  }
  1924  
  1925  func (*Trace_QueryPlanNode_Sequence) isTrace_QueryPlanNode_Node() {}
  1926  
  1927  func (*Trace_QueryPlanNode_Parallel) isTrace_QueryPlanNode_Node() {}
  1928  
  1929  func (*Trace_QueryPlanNode_Fetch) isTrace_QueryPlanNode_Node() {}
  1930  
  1931  func (*Trace_QueryPlanNode_Flatten) isTrace_QueryPlanNode_Node() {}
  1932  
  1933  type Trace_HTTP_Values struct {
  1934  	state         protoimpl.MessageState
  1935  	sizeCache     protoimpl.SizeCache
  1936  	unknownFields protoimpl.UnknownFields
  1937  
  1938  	Value []string `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
  1939  }
  1940  
  1941  func (x *Trace_HTTP_Values) Reset() {
  1942  	*x = Trace_HTTP_Values{}
  1943  	if protoimpl.UnsafeEnabled {
  1944  		mi := &file_apollo_trace_proto_msgTypes[21]
  1945  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1946  		ms.StoreMessageInfo(mi)
  1947  	}
  1948  }
  1949  
  1950  func (x *Trace_HTTP_Values) String() string {
  1951  	return protoimpl.X.MessageStringOf(x)
  1952  }
  1953  
  1954  func (*Trace_HTTP_Values) ProtoMessage() {}
  1955  
  1956  func (x *Trace_HTTP_Values) ProtoReflect() protoreflect.Message {
  1957  	mi := &file_apollo_trace_proto_msgTypes[21]
  1958  	if protoimpl.UnsafeEnabled && x != nil {
  1959  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1960  		if ms.LoadMessageInfo() == nil {
  1961  			ms.StoreMessageInfo(mi)
  1962  		}
  1963  		return ms
  1964  	}
  1965  	return mi.MessageOf(x)
  1966  }
  1967  
  1968  // Deprecated: Use Trace_HTTP_Values.ProtoReflect.Descriptor instead.
  1969  func (*Trace_HTTP_Values) Descriptor() ([]byte, []int) {
  1970  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 3, 0}
  1971  }
  1972  
  1973  func (x *Trace_HTTP_Values) GetValue() []string {
  1974  	if x != nil {
  1975  		return x.Value
  1976  	}
  1977  	return nil
  1978  }
  1979  
  1980  // This represents a set of nodes to be executed sequentially by the Gateway executor
  1981  type Trace_QueryPlanNode_SequenceNode struct {
  1982  	state         protoimpl.MessageState
  1983  	sizeCache     protoimpl.SizeCache
  1984  	unknownFields protoimpl.UnknownFields
  1985  
  1986  	Nodes []*Trace_QueryPlanNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
  1987  }
  1988  
  1989  func (x *Trace_QueryPlanNode_SequenceNode) Reset() {
  1990  	*x = Trace_QueryPlanNode_SequenceNode{}
  1991  	if protoimpl.UnsafeEnabled {
  1992  		mi := &file_apollo_trace_proto_msgTypes[24]
  1993  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1994  		ms.StoreMessageInfo(mi)
  1995  	}
  1996  }
  1997  
  1998  func (x *Trace_QueryPlanNode_SequenceNode) String() string {
  1999  	return protoimpl.X.MessageStringOf(x)
  2000  }
  2001  
  2002  func (*Trace_QueryPlanNode_SequenceNode) ProtoMessage() {}
  2003  
  2004  func (x *Trace_QueryPlanNode_SequenceNode) ProtoReflect() protoreflect.Message {
  2005  	mi := &file_apollo_trace_proto_msgTypes[24]
  2006  	if protoimpl.UnsafeEnabled && x != nil {
  2007  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2008  		if ms.LoadMessageInfo() == nil {
  2009  			ms.StoreMessageInfo(mi)
  2010  		}
  2011  		return ms
  2012  	}
  2013  	return mi.MessageOf(x)
  2014  }
  2015  
  2016  // Deprecated: Use Trace_QueryPlanNode_SequenceNode.ProtoReflect.Descriptor instead.
  2017  func (*Trace_QueryPlanNode_SequenceNode) Descriptor() ([]byte, []int) {
  2018  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 0}
  2019  }
  2020  
  2021  func (x *Trace_QueryPlanNode_SequenceNode) GetNodes() []*Trace_QueryPlanNode {
  2022  	if x != nil {
  2023  		return x.Nodes
  2024  	}
  2025  	return nil
  2026  }
  2027  
  2028  // This represents a set of nodes to be executed in parallel by the Gateway executor
  2029  type Trace_QueryPlanNode_ParallelNode struct {
  2030  	state         protoimpl.MessageState
  2031  	sizeCache     protoimpl.SizeCache
  2032  	unknownFields protoimpl.UnknownFields
  2033  
  2034  	Nodes []*Trace_QueryPlanNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
  2035  }
  2036  
  2037  func (x *Trace_QueryPlanNode_ParallelNode) Reset() {
  2038  	*x = Trace_QueryPlanNode_ParallelNode{}
  2039  	if protoimpl.UnsafeEnabled {
  2040  		mi := &file_apollo_trace_proto_msgTypes[25]
  2041  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2042  		ms.StoreMessageInfo(mi)
  2043  	}
  2044  }
  2045  
  2046  func (x *Trace_QueryPlanNode_ParallelNode) String() string {
  2047  	return protoimpl.X.MessageStringOf(x)
  2048  }
  2049  
  2050  func (*Trace_QueryPlanNode_ParallelNode) ProtoMessage() {}
  2051  
  2052  func (x *Trace_QueryPlanNode_ParallelNode) ProtoReflect() protoreflect.Message {
  2053  	mi := &file_apollo_trace_proto_msgTypes[25]
  2054  	if protoimpl.UnsafeEnabled && x != nil {
  2055  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2056  		if ms.LoadMessageInfo() == nil {
  2057  			ms.StoreMessageInfo(mi)
  2058  		}
  2059  		return ms
  2060  	}
  2061  	return mi.MessageOf(x)
  2062  }
  2063  
  2064  // Deprecated: Use Trace_QueryPlanNode_ParallelNode.ProtoReflect.Descriptor instead.
  2065  func (*Trace_QueryPlanNode_ParallelNode) Descriptor() ([]byte, []int) {
  2066  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 1}
  2067  }
  2068  
  2069  func (x *Trace_QueryPlanNode_ParallelNode) GetNodes() []*Trace_QueryPlanNode {
  2070  	if x != nil {
  2071  		return x.Nodes
  2072  	}
  2073  	return nil
  2074  }
  2075  
  2076  // This represents a node to send an operation to an implementing service
  2077  type Trace_QueryPlanNode_FetchNode struct {
  2078  	state         protoimpl.MessageState
  2079  	sizeCache     protoimpl.SizeCache
  2080  	unknownFields protoimpl.UnknownFields
  2081  
  2082  	// XXX When we want to include more details about the sub-operation that was
  2083  	// executed against this service, we should include that here in each fetch node.
  2084  	// This might include an operation signature, requires directive, reference resolutions, etc.
  2085  	ServiceName        string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
  2086  	TraceParsingFailed bool   `protobuf:"varint,2,opt,name=trace_parsing_failed,json=traceParsingFailed,proto3" json:"trace_parsing_failed,omitempty"`
  2087  	// This Trace only contains start_time, end_time, duration_ns, and root;
  2088  	// all timings were calculated **on the federated service**, and clock skew
  2089  	// will be handled by the ingress server.
  2090  	Trace *Trace `protobuf:"bytes,3,opt,name=trace,proto3" json:"trace,omitempty"`
  2091  	// relative to the outer trace's start_time, in ns, measured in the gateway.
  2092  	SentTimeOffset uint64 `protobuf:"varint,4,opt,name=sent_time_offset,json=sentTimeOffset,proto3" json:"sent_time_offset,omitempty"`
  2093  	// Wallclock times measured in the gateway for when this operation was
  2094  	// sent and received.
  2095  	SentTime     *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=sent_time,json=sentTime,proto3" json:"sent_time,omitempty"`
  2096  	ReceivedTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=received_time,json=receivedTime,proto3" json:"received_time,omitempty"`
  2097  }
  2098  
  2099  func (x *Trace_QueryPlanNode_FetchNode) Reset() {
  2100  	*x = Trace_QueryPlanNode_FetchNode{}
  2101  	if protoimpl.UnsafeEnabled {
  2102  		mi := &file_apollo_trace_proto_msgTypes[26]
  2103  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2104  		ms.StoreMessageInfo(mi)
  2105  	}
  2106  }
  2107  
  2108  func (x *Trace_QueryPlanNode_FetchNode) String() string {
  2109  	return protoimpl.X.MessageStringOf(x)
  2110  }
  2111  
  2112  func (*Trace_QueryPlanNode_FetchNode) ProtoMessage() {}
  2113  
  2114  func (x *Trace_QueryPlanNode_FetchNode) ProtoReflect() protoreflect.Message {
  2115  	mi := &file_apollo_trace_proto_msgTypes[26]
  2116  	if protoimpl.UnsafeEnabled && x != nil {
  2117  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2118  		if ms.LoadMessageInfo() == nil {
  2119  			ms.StoreMessageInfo(mi)
  2120  		}
  2121  		return ms
  2122  	}
  2123  	return mi.MessageOf(x)
  2124  }
  2125  
  2126  // Deprecated: Use Trace_QueryPlanNode_FetchNode.ProtoReflect.Descriptor instead.
  2127  func (*Trace_QueryPlanNode_FetchNode) Descriptor() ([]byte, []int) {
  2128  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 2}
  2129  }
  2130  
  2131  func (x *Trace_QueryPlanNode_FetchNode) GetServiceName() string {
  2132  	if x != nil {
  2133  		return x.ServiceName
  2134  	}
  2135  	return ""
  2136  }
  2137  
  2138  func (x *Trace_QueryPlanNode_FetchNode) GetTraceParsingFailed() bool {
  2139  	if x != nil {
  2140  		return x.TraceParsingFailed
  2141  	}
  2142  	return false
  2143  }
  2144  
  2145  func (x *Trace_QueryPlanNode_FetchNode) GetTrace() *Trace {
  2146  	if x != nil {
  2147  		return x.Trace
  2148  	}
  2149  	return nil
  2150  }
  2151  
  2152  func (x *Trace_QueryPlanNode_FetchNode) GetSentTimeOffset() uint64 {
  2153  	if x != nil {
  2154  		return x.SentTimeOffset
  2155  	}
  2156  	return 0
  2157  }
  2158  
  2159  func (x *Trace_QueryPlanNode_FetchNode) GetSentTime() *timestamppb.Timestamp {
  2160  	if x != nil {
  2161  		return x.SentTime
  2162  	}
  2163  	return nil
  2164  }
  2165  
  2166  func (x *Trace_QueryPlanNode_FetchNode) GetReceivedTime() *timestamppb.Timestamp {
  2167  	if x != nil {
  2168  		return x.ReceivedTime
  2169  	}
  2170  	return nil
  2171  }
  2172  
  2173  // This node represents a way to reach into the response path and attach related entities.
  2174  // XXX Flatten is really not the right name and this node may be renamed in the query planner.
  2175  type Trace_QueryPlanNode_FlattenNode struct {
  2176  	state         protoimpl.MessageState
  2177  	sizeCache     protoimpl.SizeCache
  2178  	unknownFields protoimpl.UnknownFields
  2179  
  2180  	ResponsePath []*Trace_QueryPlanNode_ResponsePathElement `protobuf:"bytes,1,rep,name=response_path,json=responsePath,proto3" json:"response_path,omitempty"`
  2181  	Node         *Trace_QueryPlanNode                       `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
  2182  }
  2183  
  2184  func (x *Trace_QueryPlanNode_FlattenNode) Reset() {
  2185  	*x = Trace_QueryPlanNode_FlattenNode{}
  2186  	if protoimpl.UnsafeEnabled {
  2187  		mi := &file_apollo_trace_proto_msgTypes[27]
  2188  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2189  		ms.StoreMessageInfo(mi)
  2190  	}
  2191  }
  2192  
  2193  func (x *Trace_QueryPlanNode_FlattenNode) String() string {
  2194  	return protoimpl.X.MessageStringOf(x)
  2195  }
  2196  
  2197  func (*Trace_QueryPlanNode_FlattenNode) ProtoMessage() {}
  2198  
  2199  func (x *Trace_QueryPlanNode_FlattenNode) ProtoReflect() protoreflect.Message {
  2200  	mi := &file_apollo_trace_proto_msgTypes[27]
  2201  	if protoimpl.UnsafeEnabled && x != nil {
  2202  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2203  		if ms.LoadMessageInfo() == nil {
  2204  			ms.StoreMessageInfo(mi)
  2205  		}
  2206  		return ms
  2207  	}
  2208  	return mi.MessageOf(x)
  2209  }
  2210  
  2211  // Deprecated: Use Trace_QueryPlanNode_FlattenNode.ProtoReflect.Descriptor instead.
  2212  func (*Trace_QueryPlanNode_FlattenNode) Descriptor() ([]byte, []int) {
  2213  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 3}
  2214  }
  2215  
  2216  func (x *Trace_QueryPlanNode_FlattenNode) GetResponsePath() []*Trace_QueryPlanNode_ResponsePathElement {
  2217  	if x != nil {
  2218  		return x.ResponsePath
  2219  	}
  2220  	return nil
  2221  }
  2222  
  2223  func (x *Trace_QueryPlanNode_FlattenNode) GetNode() *Trace_QueryPlanNode {
  2224  	if x != nil {
  2225  		return x.Node
  2226  	}
  2227  	return nil
  2228  }
  2229  
  2230  type Trace_QueryPlanNode_ResponsePathElement struct {
  2231  	state         protoimpl.MessageState
  2232  	sizeCache     protoimpl.SizeCache
  2233  	unknownFields protoimpl.UnknownFields
  2234  
  2235  	// Types that are assignable to Id:
  2236  	//	*Trace_QueryPlanNode_ResponsePathElement_FieldName
  2237  	//	*Trace_QueryPlanNode_ResponsePathElement_Index
  2238  	Id isTrace_QueryPlanNode_ResponsePathElement_Id `protobuf_oneof:"id"`
  2239  }
  2240  
  2241  func (x *Trace_QueryPlanNode_ResponsePathElement) Reset() {
  2242  	*x = Trace_QueryPlanNode_ResponsePathElement{}
  2243  	if protoimpl.UnsafeEnabled {
  2244  		mi := &file_apollo_trace_proto_msgTypes[28]
  2245  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2246  		ms.StoreMessageInfo(mi)
  2247  	}
  2248  }
  2249  
  2250  func (x *Trace_QueryPlanNode_ResponsePathElement) String() string {
  2251  	return protoimpl.X.MessageStringOf(x)
  2252  }
  2253  
  2254  func (*Trace_QueryPlanNode_ResponsePathElement) ProtoMessage() {}
  2255  
  2256  func (x *Trace_QueryPlanNode_ResponsePathElement) ProtoReflect() protoreflect.Message {
  2257  	mi := &file_apollo_trace_proto_msgTypes[28]
  2258  	if protoimpl.UnsafeEnabled && x != nil {
  2259  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2260  		if ms.LoadMessageInfo() == nil {
  2261  			ms.StoreMessageInfo(mi)
  2262  		}
  2263  		return ms
  2264  	}
  2265  	return mi.MessageOf(x)
  2266  }
  2267  
  2268  // Deprecated: Use Trace_QueryPlanNode_ResponsePathElement.ProtoReflect.Descriptor instead.
  2269  func (*Trace_QueryPlanNode_ResponsePathElement) Descriptor() ([]byte, []int) {
  2270  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 4}
  2271  }
  2272  
  2273  func (m *Trace_QueryPlanNode_ResponsePathElement) GetId() isTrace_QueryPlanNode_ResponsePathElement_Id {
  2274  	if m != nil {
  2275  		return m.Id
  2276  	}
  2277  	return nil
  2278  }
  2279  
  2280  func (x *Trace_QueryPlanNode_ResponsePathElement) GetFieldName() string {
  2281  	if x, ok := x.GetId().(*Trace_QueryPlanNode_ResponsePathElement_FieldName); ok {
  2282  		return x.FieldName
  2283  	}
  2284  	return ""
  2285  }
  2286  
  2287  func (x *Trace_QueryPlanNode_ResponsePathElement) GetIndex() uint32 {
  2288  	if x, ok := x.GetId().(*Trace_QueryPlanNode_ResponsePathElement_Index); ok {
  2289  		return x.Index
  2290  	}
  2291  	return 0
  2292  }
  2293  
  2294  type isTrace_QueryPlanNode_ResponsePathElement_Id interface {
  2295  	isTrace_QueryPlanNode_ResponsePathElement_Id()
  2296  }
  2297  
  2298  type Trace_QueryPlanNode_ResponsePathElement_FieldName struct {
  2299  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3,oneof"`
  2300  }
  2301  
  2302  type Trace_QueryPlanNode_ResponsePathElement_Index struct {
  2303  	Index uint32 `protobuf:"varint,2,opt,name=index,proto3,oneof"`
  2304  }
  2305  
  2306  func (*Trace_QueryPlanNode_ResponsePathElement_FieldName) isTrace_QueryPlanNode_ResponsePathElement_Id() {
  2307  }
  2308  
  2309  func (*Trace_QueryPlanNode_ResponsePathElement_Index) isTrace_QueryPlanNode_ResponsePathElement_Id() {
  2310  }
  2311  
  2312  var File_apollo_trace_proto protoreflect.FileDescriptor
  2313  
  2314  var file_apollo_trace_proto_rawDesc = []byte{
  2315  	0x0a, 0x12, 0x61, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70,
  2316  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  2317  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
  2318  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x1a, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12,
  2319  	0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
  2320  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2321  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
  2322  	0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e,
  2323  	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  2324  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  2325  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
  2326  	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x73,
  2327  	0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2328  	0x4e, 0x73, 0x12, 0x1f, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
  2329  	0x32, 0x0b, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72,
  2330  	0x6f, 0x6f, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
  2331  	0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
  2332  	0x65, 0x12, 0x38, 0x0a, 0x17, 0x75, 0x6e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f,
  2333  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x1b, 0x20, 0x01,
  2334  	0x28, 0x09, 0x52, 0x17, 0x75, 0x6e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x70,
  2335  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x38, 0x0a, 0x17, 0x75,
  2336  	0x6e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  2337  	0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x75, 0x6e,
  2338  	0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2339  	0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
  2340  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x44,
  2341  	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12,
  2342  	0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07,
  2343  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65,
  2344  	0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
  2345  	0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  2346  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18,
  2347  	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54,
  2348  	0x54, 0x50, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x35, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68,
  2349  	0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
  2350  	0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69,
  2351  	0x63, 0x79, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
  2352  	0x33, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x1a, 0x20,
  2353  	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72,
  2354  	0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79,
  2355  	0x50, 0x6c, 0x61, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x71, 0x75, 0x65,
  2356  	0x72, 0x79, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x14, 0x20, 0x01,
  2357  	0x28, 0x08, 0x52, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x63,
  2358  	0x68, 0x65, 0x48, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
  2359  	0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x15, 0x20, 0x01,
  2360  	0x28, 0x08, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65,
  2361  	0x72, 0x79, 0x48, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
  2362  	0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
  2363  	0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
  2364  	0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12,
  2365  	0x31, 0x0a, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x70,
  2366  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72,
  2367  	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  2368  	0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f,
  2369  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52,
  2370  	0x12, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  2371  	0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x65,
  2372  	0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x1f, 0x20,
  2373  	0x01, 0x28, 0x01, 0x52, 0x14, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
  2374  	0x69, 0x6f, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x8a, 0x01, 0x0a, 0x0b, 0x43, 0x61,
  2375  	0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x63, 0x6f,
  2376  	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65,
  2377  	0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x63, 0x6f,
  2378  	0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x61, 0x78,
  2379  	0x5f, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d,
  2380  	0x61, 0x78, 0x41, 0x67, 0x65, 0x4e, 0x73, 0x22, 0x2d, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65,
  2381  	0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a,
  2382  	0x06, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49,
  2383  	0x56, 0x41, 0x54, 0x45, 0x10, 0x02, 0x1a, 0xbc, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69,
  2384  	0x6c, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f,
  2385  	0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x54, 0x72, 0x61,
  2386  	0x63, 0x65, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61,
  2387  	0x62, 0x6c, 0x65, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x76,
  2388  	0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e,
  2389  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
  2390  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
  2391  	0x61, 0x6d, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
  2392  	0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
  2393  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
  2394  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  2395  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18,
  2396  	0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2397  	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
  2398  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x72, 0x61,
  2399  	0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63,
  2400  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73,
  2401  	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x12,
  2402  	0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6a, 0x73,
  2403  	0x6f, 0x6e, 0x1a, 0x8e, 0x05, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x12, 0x2a, 0x0a, 0x06, 0x6d,
  2404  	0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x54, 0x72,
  2405  	0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52,
  2406  	0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18,
  2407  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70,
  2408  	0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12,
  2409  	0x48, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65,
  2410  	0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65,
  2411  	0x2e, 0x48, 0x54, 0x54, 0x50, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61,
  2412  	0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65,
  2413  	0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x72, 0x65, 0x73,
  2414  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20,
  2415  	0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50,
  2416  	0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
  2417  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
  2418  	0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
  2419  	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61,
  2420  	0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x75, 0x72,
  2421  	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12,
  2422  	0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28,
  2423  	0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x1a, 0x1e, 0x0a, 0x06, 0x56,
  2424  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
  2425  	0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x55, 0x0a, 0x13, 0x52,
  2426  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
  2427  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2428  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  2429  	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50,
  2430  	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
  2431  	0x38, 0x01, 0x1a, 0x56, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65,
  2432  	0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  2433  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05,
  2434  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x72,
  2435  	0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52,
  2436  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x77, 0x0a, 0x06, 0x4d, 0x65,
  2437  	0x74, 0x68, 0x6f, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
  2438  	0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x07,
  2439  	0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10,
  2440  	0x03, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x50,
  2441  	0x55, 0x54, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x06,
  2442  	0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x43,
  2443  	0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43,
  2444  	0x48, 0x10, 0x09, 0x1a, 0x36, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  2445  	0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c,
  2446  	0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20,
  2447  	0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x1a, 0xee, 0x02, 0x0a, 0x04,
  2448  	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2449  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72,
  2450  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69,
  2451  	0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e,
  2452  	0x64, 0x65, 0x78, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f,
  2453  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
  2454  	0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e,
  2455  	0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  2456  	0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e,
  2457  	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61,
  2458  	0x72, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68,
  2459  	0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
  2460  	0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69,
  2461  	0x63, 0x79, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
  2462  	0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
  2463  	0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19,
  2464  	0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04,
  2465  	0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x72, 0x72,
  2466  	0x6f, 0x72, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65,
  2467  	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x21, 0x0a,
  2468  	0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54,
  2469  	0x72, 0x61, 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64,
  2470  	0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x1a, 0x8b, 0x07, 0x0a,
  2471  	0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3f,
  2472  	0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2473  	0x32, 0x21, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c,
  2474  	0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e,
  2475  	0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12,
  2476  	0x3f, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
  2477  	0x0b, 0x32, 0x21, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50,
  2478  	0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c,
  2479  	0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c,
  2480  	0x12, 0x36, 0x0a, 0x05, 0x66, 0x65, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2481  	0x1e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61,
  2482  	0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x48,
  2483  	0x00, 0x52, 0x05, 0x66, 0x65, 0x74, 0x63, 0x68, 0x12, 0x3c, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74,
  2484  	0x74, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x54, 0x72, 0x61, 0x63,
  2485  	0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e,
  2486  	0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x07, 0x66,
  2487  	0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
  2488  	0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18,
  2489  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75,
  2490  	0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64,
  2491  	0x65, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x4e, 0x6f,
  2492  	0x64, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  2493  	0x0b, 0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50,
  2494  	0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0xa2,
  2495  	0x02, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c,
  2496  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  2497  	0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
  2498  	0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67,
  2499  	0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x74,
  2500  	0x72, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x65,
  2501  	0x64, 0x12, 0x1c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  2502  	0x32, 0x06, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12,
  2503  	0x28, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x66,
  2504  	0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x74, 0x54,
  2505  	0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x65, 0x6e,
  2506  	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  2507  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  2508  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x69,
  2509  	0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74,
  2510  	0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2511  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  2512  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54,
  2513  	0x69, 0x6d, 0x65, 0x1a, 0x86, 0x01, 0x0a, 0x0b, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x4e,
  2514  	0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f,
  2515  	0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x54, 0x72, 0x61,
  2516  	0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65,
  2517  	0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65,
  2518  	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61,
  2519  	0x74, 0x68, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  2520  	0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c,
  2521  	0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0x54, 0x0a, 0x13,
  2522  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d,
  2523  	0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d,
  2524  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64,
  2525  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20,
  2526  	0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x04, 0x0a, 0x02,
  2527  	0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02,
  2528  	0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0c,
  2529  	0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x17, 0x10, 0x18, 0x22, 0x8c,
  2530  	0x02, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
  2531  	0x1b, 0x0a, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x0c, 0x20, 0x01,
  2532  	0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x08,
  2533  	0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
  2534  	0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x65, 0x6e,
  2535  	0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
  2536  	0x0c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
  2537  	0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  2538  	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56,
  2539  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d,
  2540  	0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
  2541  	0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
  2542  	0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  2543  	0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61,
  2544  	0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
  2545  	0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
  2546  	0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xf9, 0x01,
  2547  	0x0a, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73,
  2548  	0x12, 0x39, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03,
  2549  	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74,
  2550  	0x61, 0x74, 0x73, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74, 0x72,
  2551  	0x79, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65,
  2552  	0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
  2553  	0x04, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b,
  2554  	0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f,
  2555  	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
  2556  	0x28, 0x04, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68,
  2557  	0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x4c, 0x0a, 0x0d, 0x43,
  2558  	0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  2559  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25,
  2560  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
  2561  	0x50, 0x61, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05,
  2562  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdf, 0x05, 0x0a, 0x11, 0x51, 0x75,
  2563  	0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
  2564  	0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  2565  	0x18, 0x0d, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43,
  2566  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
  2567  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x65, 0x71,
  2568  	0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63,
  2569  	0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63,
  2570  	0x61, 0x63, 0x68, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x73,
  2571  	0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x69, 0x74, 0x73,
  2572  	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
  2573  	0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x65,
  2574  	0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x69,
  2575  	0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70, 0x65, 0x72, 0x73,
  2576  	0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73,
  2577  	0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
  2578  	0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x12, 0x52, 0x11, 0x63,
  2579  	0x61, 0x63, 0x68, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  2580  	0x12, 0x39, 0x0a, 0x10, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73,
  2581  	0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x50, 0x61, 0x74,
  2582  	0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, 0x72, 0x6f, 0x6f,
  2583  	0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x72,
  2584  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72,
  2585  	0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52,
  2586  	0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x72, 0x72,
  2587  	0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x75, 0x62, 0x6c,
  2588  	0x69, 0x63, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x5f, 0x63, 0x6f, 0x75,
  2589  	0x6e, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x12, 0x52, 0x13, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
  2590  	0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a,
  2591  	0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74,
  2592  	0x74, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x12, 0x52, 0x14,
  2593  	0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x74, 0x6c, 0x43,
  2594  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
  2595  	0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75,
  2596  	0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x18, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
  2597  	0x65, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75,
  2598  	0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f,
  2599  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2600  	0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e,
  2601  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53,
  2602  	0x0a, 0x26, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f,
  2603  	0x75, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d,
  2604  	0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x23,
  2605  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x46,
  2606  	0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74,
  2607  	0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a,
  2608  	0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, 0x5c, 0x0a, 0x0c, 0x53,
  2609  	0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
  2610  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2611  	0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e,
  2612  	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
  2613  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73,
  2614  	0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x8e, 0x01, 0x0a, 0x1f, 0x43, 0x6f,
  2615  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72,
  2616  	0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x42, 0x0a,
  2617  	0x13, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73,
  2618  	0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x51, 0x75, 0x65,
  2619  	0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x11,
  2620  	0x71, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74,
  2621  	0x73, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01,
  2622  	0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2623  	0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x17, 0x43,
  2624  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70,
  2625  	0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2626  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43,
  2627  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
  2628  	0x4d, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
  2629  	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  2630  	0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73,
  2631  	0x2e, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72,
  2632  	0x79, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x1a, 0x49,
  2633  	0x0a, 0x10, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74,
  2634  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2635  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  2636  	0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05,
  2637  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf, 0x02, 0x0a, 0x09, 0x46, 0x69,
  2638  	0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72,
  2639  	0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
  2640  	0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f,
  2641  	0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b,
  2642  	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x6f,
  2643  	0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
  2644  	0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6f,
  2645  	0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
  2646  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
  2647  	0x65, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75,
  2648  	0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61,
  2649  	0x74, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
  2650  	0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69,
  2651  	0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2652  	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57,
  2653  	0x69, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23,
  2654  	0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2655  	0x09, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f,
  2656  	0x75, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a,
  2657  	0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0xa6, 0x01, 0x0a, 0x08,
  2658  	0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x5f,
  2659  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
  2660  	0x32, 0x1b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x46,
  2661  	0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x70,
  2662  	0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x1a, 0x4b, 0x0a, 0x11, 0x50,
  2663  	0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
  2664  	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
  2665  	0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  2666  	0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x76,
  2667  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04,
  2668  	0x08, 0x02, 0x10, 0x03, 0x22, 0x5d, 0x0a, 0x17, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
  2669  	0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
  2670  	0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01,
  2671  	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73,
  2672  	0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
  2673  	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66,
  2674  	0x61, 0x63, 0x65, 0x22, 0xaa, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25,
  2675  	0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
  2676  	0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68,
  2677  	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x5f,
  2678  	0x70, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2679  	0x1b, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x50,
  2680  	0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x72,
  2681  	0x61, 0x63, 0x65, 0x73, 0x50, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x08,
  2682  	0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  2683  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2684  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
  2685  	0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2686  	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x70,
  2687  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x52, 0x0a, 0x13,
  2688  	0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x50, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e,
  2689  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2690  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  2691  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x41, 0x6e, 0x64,
  2692  	0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
  2693  	0x22, 0x98, 0x02, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69,
  2694  	0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
  2695  	0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x61, 0x74,
  2696  	0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2697  	0x74, 0x12, 0x42, 0x0a, 0x13, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e,
  2698  	0x63, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
  2699  	0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61,
  2700  	0x74, 0x73, 0x52, 0x11, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
  2701  	0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70,
  2702  	0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43,
  2703  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61,
  2704  	0x74, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e,
  2705  	0x74, 0x72, 0x79, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74,
  2706  	0x1a, 0x49, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45,
  2707  	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
  2708  	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  2709  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74,
  2710  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x03, 0x0a, 0x0e,
  2711  	0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1c,
  2712  	0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x06, 0x2e,
  2713  	0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x12,
  2714  	0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
  2715  	0x78, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
  2716  	0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10,
  2717  	0x73, 0x74, 0x61, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  2718  	0x12, 0x66, 0x0a, 0x19, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66,
  2719  	0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20,
  2720  	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x53,
  2721  	0x74, 0x61, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x46,
  2722  	0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
  2723  	0x52, 0x16, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c,
  2724  	0x64, 0x73, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65,
  2725  	0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
  2726  	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74,
  2727  	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52,
  2728  	0x21, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x43,
  2729  	0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x53, 0x74, 0x61,
  2730  	0x74, 0x73, 0x1a, 0x63, 0x0a, 0x1b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64,
  2731  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72,
  2732  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  2733  	0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  2734  	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x46,
  2735  	0x69, 0x65, 0x6c, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61,
  2736  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x61, 0x70, 0x6f,
  2737  	0x6c, 0x6c, 0x6f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x74, 0x76, 0x31, 0x62,
  2738  	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2739  }
  2740  
  2741  var (
  2742  	file_apollo_trace_proto_rawDescOnce sync.Once
  2743  	file_apollo_trace_proto_rawDescData = file_apollo_trace_proto_rawDesc
  2744  )
  2745  
  2746  func file_apollo_trace_proto_rawDescGZIP() []byte {
  2747  	file_apollo_trace_proto_rawDescOnce.Do(func() {
  2748  		file_apollo_trace_proto_rawDescData = protoimpl.X.CompressGZIP(file_apollo_trace_proto_rawDescData)
  2749  	})
  2750  	return file_apollo_trace_proto_rawDescData
  2751  }
  2752  
  2753  var file_apollo_trace_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  2754  var file_apollo_trace_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
  2755  var file_apollo_trace_proto_goTypes = []interface{}{
  2756  	(Trace_CachePolicy_Scope)(0),                    // 0: Trace.CachePolicy.Scope
  2757  	(Trace_HTTP_Method)(0),                          // 1: Trace.HTTP.Method
  2758  	(*Trace)(nil),                                   // 2: Trace
  2759  	(*ReportHeader)(nil),                            // 3: ReportHeader
  2760  	(*PathErrorStats)(nil),                          // 4: PathErrorStats
  2761  	(*QueryLatencyStats)(nil),                       // 5: QueryLatencyStats
  2762  	(*StatsContext)(nil),                            // 6: StatsContext
  2763  	(*ContextualizedQueryLatencyStats)(nil),         // 7: ContextualizedQueryLatencyStats
  2764  	(*ContextualizedTypeStats)(nil),                 // 8: ContextualizedTypeStats
  2765  	(*FieldStat)(nil),                               // 9: FieldStat
  2766  	(*TypeStat)(nil),                                // 10: TypeStat
  2767  	(*ReferencedFieldsForType)(nil),                 // 11: ReferencedFieldsForType
  2768  	(*Report)(nil),                                  // 12: Report
  2769  	(*ContextualizedStats)(nil),                     // 13: ContextualizedStats
  2770  	(*TracesAndStats)(nil),                          // 14: TracesAndStats
  2771  	(*Trace_CachePolicy)(nil),                       // 15: Trace.CachePolicy
  2772  	(*Trace_Details)(nil),                           // 16: Trace.Details
  2773  	(*Trace_Error)(nil),                             // 17: Trace.Error
  2774  	(*Trace_HTTP)(nil),                              // 18: Trace.HTTP
  2775  	(*Trace_Location)(nil),                          // 19: Trace.Location
  2776  	(*Trace_Node)(nil),                              // 20: Trace.Node
  2777  	(*Trace_QueryPlanNode)(nil),                     // 21: Trace.QueryPlanNode
  2778  	nil,                                             // 22: Trace.Details.VariablesJsonEntry
  2779  	(*Trace_HTTP_Values)(nil),                       // 23: Trace.HTTP.Values
  2780  	nil,                                             // 24: Trace.HTTP.RequestHeadersEntry
  2781  	nil,                                             // 25: Trace.HTTP.ResponseHeadersEntry
  2782  	(*Trace_QueryPlanNode_SequenceNode)(nil),        // 26: Trace.QueryPlanNode.SequenceNode
  2783  	(*Trace_QueryPlanNode_ParallelNode)(nil),        // 27: Trace.QueryPlanNode.ParallelNode
  2784  	(*Trace_QueryPlanNode_FetchNode)(nil),           // 28: Trace.QueryPlanNode.FetchNode
  2785  	(*Trace_QueryPlanNode_FlattenNode)(nil),         // 29: Trace.QueryPlanNode.FlattenNode
  2786  	(*Trace_QueryPlanNode_ResponsePathElement)(nil), // 30: Trace.QueryPlanNode.ResponsePathElement
  2787  	nil,                           // 31: PathErrorStats.ChildrenEntry
  2788  	nil,                           // 32: ContextualizedTypeStats.PerTypeStatEntry
  2789  	nil,                           // 33: TypeStat.PerFieldStatEntry
  2790  	nil,                           // 34: Report.TracesPerQueryEntry
  2791  	nil,                           // 35: ContextualizedStats.PerTypeStatEntry
  2792  	nil,                           // 36: TracesAndStats.ReferencedFieldsByTypeEntry
  2793  	(*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp
  2794  }
  2795  var file_apollo_trace_proto_depIdxs = []int32{
  2796  	37, // 0: Trace.start_time:type_name -> google.protobuf.Timestamp
  2797  	37, // 1: Trace.end_time:type_name -> google.protobuf.Timestamp
  2798  	20, // 2: Trace.root:type_name -> Trace.Node
  2799  	16, // 3: Trace.details:type_name -> Trace.Details
  2800  	18, // 4: Trace.http:type_name -> Trace.HTTP
  2801  	15, // 5: Trace.cache_policy:type_name -> Trace.CachePolicy
  2802  	21, // 6: Trace.query_plan:type_name -> Trace.QueryPlanNode
  2803  	31, // 7: PathErrorStats.children:type_name -> PathErrorStats.ChildrenEntry
  2804  	4,  // 8: QueryLatencyStats.root_error_stats:type_name -> PathErrorStats
  2805  	5,  // 9: ContextualizedQueryLatencyStats.query_latency_stats:type_name -> QueryLatencyStats
  2806  	6,  // 10: ContextualizedQueryLatencyStats.context:type_name -> StatsContext
  2807  	6,  // 11: ContextualizedTypeStats.context:type_name -> StatsContext
  2808  	32, // 12: ContextualizedTypeStats.per_type_stat:type_name -> ContextualizedTypeStats.PerTypeStatEntry
  2809  	33, // 13: TypeStat.per_field_stat:type_name -> TypeStat.PerFieldStatEntry
  2810  	3,  // 14: Report.header:type_name -> ReportHeader
  2811  	34, // 15: Report.traces_per_query:type_name -> Report.TracesPerQueryEntry
  2812  	37, // 16: Report.end_time:type_name -> google.protobuf.Timestamp
  2813  	6,  // 17: ContextualizedStats.context:type_name -> StatsContext
  2814  	5,  // 18: ContextualizedStats.query_latency_stats:type_name -> QueryLatencyStats
  2815  	35, // 19: ContextualizedStats.per_type_stat:type_name -> ContextualizedStats.PerTypeStatEntry
  2816  	2,  // 20: TracesAndStats.trace:type_name -> Trace
  2817  	13, // 21: TracesAndStats.stats_with_context:type_name -> ContextualizedStats
  2818  	36, // 22: TracesAndStats.referenced_fields_by_type:type_name -> TracesAndStats.ReferencedFieldsByTypeEntry
  2819  	2,  // 23: TracesAndStats.internal_traces_contributing_to_stats:type_name -> Trace
  2820  	0,  // 24: Trace.CachePolicy.scope:type_name -> Trace.CachePolicy.Scope
  2821  	22, // 25: Trace.Details.variables_json:type_name -> Trace.Details.VariablesJsonEntry
  2822  	19, // 26: Trace.Error.location:type_name -> Trace.Location
  2823  	1,  // 27: Trace.HTTP.method:type_name -> Trace.HTTP.Method
  2824  	24, // 28: Trace.HTTP.request_headers:type_name -> Trace.HTTP.RequestHeadersEntry
  2825  	25, // 29: Trace.HTTP.response_headers:type_name -> Trace.HTTP.ResponseHeadersEntry
  2826  	15, // 30: Trace.Node.cache_policy:type_name -> Trace.CachePolicy
  2827  	17, // 31: Trace.Node.error:type_name -> Trace.Error
  2828  	20, // 32: Trace.Node.child:type_name -> Trace.Node
  2829  	26, // 33: Trace.QueryPlanNode.sequence:type_name -> Trace.QueryPlanNode.SequenceNode
  2830  	27, // 34: Trace.QueryPlanNode.parallel:type_name -> Trace.QueryPlanNode.ParallelNode
  2831  	28, // 35: Trace.QueryPlanNode.fetch:type_name -> Trace.QueryPlanNode.FetchNode
  2832  	29, // 36: Trace.QueryPlanNode.flatten:type_name -> Trace.QueryPlanNode.FlattenNode
  2833  	23, // 37: Trace.HTTP.RequestHeadersEntry.value:type_name -> Trace.HTTP.Values
  2834  	23, // 38: Trace.HTTP.ResponseHeadersEntry.value:type_name -> Trace.HTTP.Values
  2835  	21, // 39: Trace.QueryPlanNode.SequenceNode.nodes:type_name -> Trace.QueryPlanNode
  2836  	21, // 40: Trace.QueryPlanNode.ParallelNode.nodes:type_name -> Trace.QueryPlanNode
  2837  	2,  // 41: Trace.QueryPlanNode.FetchNode.trace:type_name -> Trace
  2838  	37, // 42: Trace.QueryPlanNode.FetchNode.sent_time:type_name -> google.protobuf.Timestamp
  2839  	37, // 43: Trace.QueryPlanNode.FetchNode.received_time:type_name -> google.protobuf.Timestamp
  2840  	30, // 44: Trace.QueryPlanNode.FlattenNode.response_path:type_name -> Trace.QueryPlanNode.ResponsePathElement
  2841  	21, // 45: Trace.QueryPlanNode.FlattenNode.node:type_name -> Trace.QueryPlanNode
  2842  	4,  // 46: PathErrorStats.ChildrenEntry.value:type_name -> PathErrorStats
  2843  	10, // 47: ContextualizedTypeStats.PerTypeStatEntry.value:type_name -> TypeStat
  2844  	9,  // 48: TypeStat.PerFieldStatEntry.value:type_name -> FieldStat
  2845  	14, // 49: Report.TracesPerQueryEntry.value:type_name -> TracesAndStats
  2846  	10, // 50: ContextualizedStats.PerTypeStatEntry.value:type_name -> TypeStat
  2847  	11, // 51: TracesAndStats.ReferencedFieldsByTypeEntry.value:type_name -> ReferencedFieldsForType
  2848  	52, // [52:52] is the sub-list for method output_type
  2849  	52, // [52:52] is the sub-list for method input_type
  2850  	52, // [52:52] is the sub-list for extension type_name
  2851  	52, // [52:52] is the sub-list for extension extendee
  2852  	0,  // [0:52] is the sub-list for field type_name
  2853  }
  2854  
  2855  func init() { file_apollo_trace_proto_init() }
  2856  func file_apollo_trace_proto_init() {
  2857  	if File_apollo_trace_proto != nil {
  2858  		return
  2859  	}
  2860  	if !protoimpl.UnsafeEnabled {
  2861  		file_apollo_trace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2862  			switch v := v.(*Trace); i {
  2863  			case 0:
  2864  				return &v.state
  2865  			case 1:
  2866  				return &v.sizeCache
  2867  			case 2:
  2868  				return &v.unknownFields
  2869  			default:
  2870  				return nil
  2871  			}
  2872  		}
  2873  		file_apollo_trace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2874  			switch v := v.(*ReportHeader); i {
  2875  			case 0:
  2876  				return &v.state
  2877  			case 1:
  2878  				return &v.sizeCache
  2879  			case 2:
  2880  				return &v.unknownFields
  2881  			default:
  2882  				return nil
  2883  			}
  2884  		}
  2885  		file_apollo_trace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2886  			switch v := v.(*PathErrorStats); i {
  2887  			case 0:
  2888  				return &v.state
  2889  			case 1:
  2890  				return &v.sizeCache
  2891  			case 2:
  2892  				return &v.unknownFields
  2893  			default:
  2894  				return nil
  2895  			}
  2896  		}
  2897  		file_apollo_trace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2898  			switch v := v.(*QueryLatencyStats); i {
  2899  			case 0:
  2900  				return &v.state
  2901  			case 1:
  2902  				return &v.sizeCache
  2903  			case 2:
  2904  				return &v.unknownFields
  2905  			default:
  2906  				return nil
  2907  			}
  2908  		}
  2909  		file_apollo_trace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2910  			switch v := v.(*StatsContext); i {
  2911  			case 0:
  2912  				return &v.state
  2913  			case 1:
  2914  				return &v.sizeCache
  2915  			case 2:
  2916  				return &v.unknownFields
  2917  			default:
  2918  				return nil
  2919  			}
  2920  		}
  2921  		file_apollo_trace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2922  			switch v := v.(*ContextualizedQueryLatencyStats); i {
  2923  			case 0:
  2924  				return &v.state
  2925  			case 1:
  2926  				return &v.sizeCache
  2927  			case 2:
  2928  				return &v.unknownFields
  2929  			default:
  2930  				return nil
  2931  			}
  2932  		}
  2933  		file_apollo_trace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2934  			switch v := v.(*ContextualizedTypeStats); i {
  2935  			case 0:
  2936  				return &v.state
  2937  			case 1:
  2938  				return &v.sizeCache
  2939  			case 2:
  2940  				return &v.unknownFields
  2941  			default:
  2942  				return nil
  2943  			}
  2944  		}
  2945  		file_apollo_trace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2946  			switch v := v.(*FieldStat); i {
  2947  			case 0:
  2948  				return &v.state
  2949  			case 1:
  2950  				return &v.sizeCache
  2951  			case 2:
  2952  				return &v.unknownFields
  2953  			default:
  2954  				return nil
  2955  			}
  2956  		}
  2957  		file_apollo_trace_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2958  			switch v := v.(*TypeStat); i {
  2959  			case 0:
  2960  				return &v.state
  2961  			case 1:
  2962  				return &v.sizeCache
  2963  			case 2:
  2964  				return &v.unknownFields
  2965  			default:
  2966  				return nil
  2967  			}
  2968  		}
  2969  		file_apollo_trace_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2970  			switch v := v.(*ReferencedFieldsForType); i {
  2971  			case 0:
  2972  				return &v.state
  2973  			case 1:
  2974  				return &v.sizeCache
  2975  			case 2:
  2976  				return &v.unknownFields
  2977  			default:
  2978  				return nil
  2979  			}
  2980  		}
  2981  		file_apollo_trace_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2982  			switch v := v.(*Report); i {
  2983  			case 0:
  2984  				return &v.state
  2985  			case 1:
  2986  				return &v.sizeCache
  2987  			case 2:
  2988  				return &v.unknownFields
  2989  			default:
  2990  				return nil
  2991  			}
  2992  		}
  2993  		file_apollo_trace_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2994  			switch v := v.(*ContextualizedStats); i {
  2995  			case 0:
  2996  				return &v.state
  2997  			case 1:
  2998  				return &v.sizeCache
  2999  			case 2:
  3000  				return &v.unknownFields
  3001  			default:
  3002  				return nil
  3003  			}
  3004  		}
  3005  		file_apollo_trace_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3006  			switch v := v.(*TracesAndStats); i {
  3007  			case 0:
  3008  				return &v.state
  3009  			case 1:
  3010  				return &v.sizeCache
  3011  			case 2:
  3012  				return &v.unknownFields
  3013  			default:
  3014  				return nil
  3015  			}
  3016  		}
  3017  		file_apollo_trace_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3018  			switch v := v.(*Trace_CachePolicy); i {
  3019  			case 0:
  3020  				return &v.state
  3021  			case 1:
  3022  				return &v.sizeCache
  3023  			case 2:
  3024  				return &v.unknownFields
  3025  			default:
  3026  				return nil
  3027  			}
  3028  		}
  3029  		file_apollo_trace_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3030  			switch v := v.(*Trace_Details); i {
  3031  			case 0:
  3032  				return &v.state
  3033  			case 1:
  3034  				return &v.sizeCache
  3035  			case 2:
  3036  				return &v.unknownFields
  3037  			default:
  3038  				return nil
  3039  			}
  3040  		}
  3041  		file_apollo_trace_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3042  			switch v := v.(*Trace_Error); i {
  3043  			case 0:
  3044  				return &v.state
  3045  			case 1:
  3046  				return &v.sizeCache
  3047  			case 2:
  3048  				return &v.unknownFields
  3049  			default:
  3050  				return nil
  3051  			}
  3052  		}
  3053  		file_apollo_trace_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3054  			switch v := v.(*Trace_HTTP); i {
  3055  			case 0:
  3056  				return &v.state
  3057  			case 1:
  3058  				return &v.sizeCache
  3059  			case 2:
  3060  				return &v.unknownFields
  3061  			default:
  3062  				return nil
  3063  			}
  3064  		}
  3065  		file_apollo_trace_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3066  			switch v := v.(*Trace_Location); i {
  3067  			case 0:
  3068  				return &v.state
  3069  			case 1:
  3070  				return &v.sizeCache
  3071  			case 2:
  3072  				return &v.unknownFields
  3073  			default:
  3074  				return nil
  3075  			}
  3076  		}
  3077  		file_apollo_trace_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3078  			switch v := v.(*Trace_Node); i {
  3079  			case 0:
  3080  				return &v.state
  3081  			case 1:
  3082  				return &v.sizeCache
  3083  			case 2:
  3084  				return &v.unknownFields
  3085  			default:
  3086  				return nil
  3087  			}
  3088  		}
  3089  		file_apollo_trace_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3090  			switch v := v.(*Trace_QueryPlanNode); i {
  3091  			case 0:
  3092  				return &v.state
  3093  			case 1:
  3094  				return &v.sizeCache
  3095  			case 2:
  3096  				return &v.unknownFields
  3097  			default:
  3098  				return nil
  3099  			}
  3100  		}
  3101  		file_apollo_trace_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3102  			switch v := v.(*Trace_HTTP_Values); i {
  3103  			case 0:
  3104  				return &v.state
  3105  			case 1:
  3106  				return &v.sizeCache
  3107  			case 2:
  3108  				return &v.unknownFields
  3109  			default:
  3110  				return nil
  3111  			}
  3112  		}
  3113  		file_apollo_trace_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  3114  			switch v := v.(*Trace_QueryPlanNode_SequenceNode); i {
  3115  			case 0:
  3116  				return &v.state
  3117  			case 1:
  3118  				return &v.sizeCache
  3119  			case 2:
  3120  				return &v.unknownFields
  3121  			default:
  3122  				return nil
  3123  			}
  3124  		}
  3125  		file_apollo_trace_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  3126  			switch v := v.(*Trace_QueryPlanNode_ParallelNode); i {
  3127  			case 0:
  3128  				return &v.state
  3129  			case 1:
  3130  				return &v.sizeCache
  3131  			case 2:
  3132  				return &v.unknownFields
  3133  			default:
  3134  				return nil
  3135  			}
  3136  		}
  3137  		file_apollo_trace_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  3138  			switch v := v.(*Trace_QueryPlanNode_FetchNode); i {
  3139  			case 0:
  3140  				return &v.state
  3141  			case 1:
  3142  				return &v.sizeCache
  3143  			case 2:
  3144  				return &v.unknownFields
  3145  			default:
  3146  				return nil
  3147  			}
  3148  		}
  3149  		file_apollo_trace_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  3150  			switch v := v.(*Trace_QueryPlanNode_FlattenNode); i {
  3151  			case 0:
  3152  				return &v.state
  3153  			case 1:
  3154  				return &v.sizeCache
  3155  			case 2:
  3156  				return &v.unknownFields
  3157  			default:
  3158  				return nil
  3159  			}
  3160  		}
  3161  		file_apollo_trace_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  3162  			switch v := v.(*Trace_QueryPlanNode_ResponsePathElement); i {
  3163  			case 0:
  3164  				return &v.state
  3165  			case 1:
  3166  				return &v.sizeCache
  3167  			case 2:
  3168  				return &v.unknownFields
  3169  			default:
  3170  				return nil
  3171  			}
  3172  		}
  3173  	}
  3174  	file_apollo_trace_proto_msgTypes[18].OneofWrappers = []interface{}{
  3175  		(*Trace_Node_ResponseName)(nil),
  3176  		(*Trace_Node_Index)(nil),
  3177  	}
  3178  	file_apollo_trace_proto_msgTypes[19].OneofWrappers = []interface{}{
  3179  		(*Trace_QueryPlanNode_Sequence)(nil),
  3180  		(*Trace_QueryPlanNode_Parallel)(nil),
  3181  		(*Trace_QueryPlanNode_Fetch)(nil),
  3182  		(*Trace_QueryPlanNode_Flatten)(nil),
  3183  	}
  3184  	file_apollo_trace_proto_msgTypes[28].OneofWrappers = []interface{}{
  3185  		(*Trace_QueryPlanNode_ResponsePathElement_FieldName)(nil),
  3186  		(*Trace_QueryPlanNode_ResponsePathElement_Index)(nil),
  3187  	}
  3188  	type x struct{}
  3189  	out := protoimpl.TypeBuilder{
  3190  		File: protoimpl.DescBuilder{
  3191  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3192  			RawDescriptor: file_apollo_trace_proto_rawDesc,
  3193  			NumEnums:      2,
  3194  			NumMessages:   35,
  3195  			NumExtensions: 0,
  3196  			NumServices:   0,
  3197  		},
  3198  		GoTypes:           file_apollo_trace_proto_goTypes,
  3199  		DependencyIndexes: file_apollo_trace_proto_depIdxs,
  3200  		EnumInfos:         file_apollo_trace_proto_enumTypes,
  3201  		MessageInfos:      file_apollo_trace_proto_msgTypes,
  3202  	}.Build()
  3203  	File_apollo_trace_proto = out.File
  3204  	file_apollo_trace_proto_rawDesc = nil
  3205  	file_apollo_trace_proto_goTypes = nil
  3206  	file_apollo_trace_proto_depIdxs = nil
  3207  }
  3208  

View as plain text