1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/dataflow/v1beta3/metrics.proto 20 21package dataflow 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 grpc "google.golang.org/grpc" 30 codes "google.golang.org/grpc/codes" 31 status "google.golang.org/grpc/status" 32 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 33 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 34 structpb "google.golang.org/protobuf/types/known/structpb" 35 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 36) 37 38const ( 39 // Verify that this generated code is sufficiently up-to-date. 40 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 41 // Verify that runtime/protoimpl is sufficiently up-to-date. 42 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 43) 44 45// The state of some component of job execution. 46type ExecutionState int32 47 48const ( 49 // The component state is unknown or unspecified. 50 ExecutionState_EXECUTION_STATE_UNKNOWN ExecutionState = 0 51 // The component is not yet running. 52 ExecutionState_EXECUTION_STATE_NOT_STARTED ExecutionState = 1 53 // The component is currently running. 54 ExecutionState_EXECUTION_STATE_RUNNING ExecutionState = 2 55 // The component succeeded. 56 ExecutionState_EXECUTION_STATE_SUCCEEDED ExecutionState = 3 57 // The component failed. 58 ExecutionState_EXECUTION_STATE_FAILED ExecutionState = 4 59 // Execution of the component was cancelled. 60 ExecutionState_EXECUTION_STATE_CANCELLED ExecutionState = 5 61) 62 63// Enum value maps for ExecutionState. 64var ( 65 ExecutionState_name = map[int32]string{ 66 0: "EXECUTION_STATE_UNKNOWN", 67 1: "EXECUTION_STATE_NOT_STARTED", 68 2: "EXECUTION_STATE_RUNNING", 69 3: "EXECUTION_STATE_SUCCEEDED", 70 4: "EXECUTION_STATE_FAILED", 71 5: "EXECUTION_STATE_CANCELLED", 72 } 73 ExecutionState_value = map[string]int32{ 74 "EXECUTION_STATE_UNKNOWN": 0, 75 "EXECUTION_STATE_NOT_STARTED": 1, 76 "EXECUTION_STATE_RUNNING": 2, 77 "EXECUTION_STATE_SUCCEEDED": 3, 78 "EXECUTION_STATE_FAILED": 4, 79 "EXECUTION_STATE_CANCELLED": 5, 80 } 81) 82 83func (x ExecutionState) Enum() *ExecutionState { 84 p := new(ExecutionState) 85 *p = x 86 return p 87} 88 89func (x ExecutionState) String() string { 90 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 91} 92 93func (ExecutionState) Descriptor() protoreflect.EnumDescriptor { 94 return file_google_dataflow_v1beta3_metrics_proto_enumTypes[0].Descriptor() 95} 96 97func (ExecutionState) Type() protoreflect.EnumType { 98 return &file_google_dataflow_v1beta3_metrics_proto_enumTypes[0] 99} 100 101func (x ExecutionState) Number() protoreflect.EnumNumber { 102 return protoreflect.EnumNumber(x) 103} 104 105// Deprecated: Use ExecutionState.Descriptor instead. 106func (ExecutionState) EnumDescriptor() ([]byte, []int) { 107 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{0} 108} 109 110// Identifies a metric, by describing the source which generated the 111// metric. 112type MetricStructuredName struct { 113 state protoimpl.MessageState 114 sizeCache protoimpl.SizeCache 115 unknownFields protoimpl.UnknownFields 116 117 // Origin (namespace) of metric name. May be blank for user-define metrics; 118 // will be "dataflow" for metrics defined by the Dataflow service or SDK. 119 Origin string `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"` 120 // Worker-defined metric name. 121 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 122 // Zero or more labeled fields which identify the part of the job this 123 // metric is associated with, such as the name of a step or collection. 124 // 125 // For example, built-in counters associated with steps will have 126 // context['step'] = <step-name>. Counters associated with PCollections 127 // in the SDK will have context['pcollection'] = <pcollection-name>. 128 Context map[string]string `protobuf:"bytes,3,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 129} 130 131func (x *MetricStructuredName) Reset() { 132 *x = MetricStructuredName{} 133 if protoimpl.UnsafeEnabled { 134 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[0] 135 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 136 ms.StoreMessageInfo(mi) 137 } 138} 139 140func (x *MetricStructuredName) String() string { 141 return protoimpl.X.MessageStringOf(x) 142} 143 144func (*MetricStructuredName) ProtoMessage() {} 145 146func (x *MetricStructuredName) ProtoReflect() protoreflect.Message { 147 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[0] 148 if protoimpl.UnsafeEnabled && x != nil { 149 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 150 if ms.LoadMessageInfo() == nil { 151 ms.StoreMessageInfo(mi) 152 } 153 return ms 154 } 155 return mi.MessageOf(x) 156} 157 158// Deprecated: Use MetricStructuredName.ProtoReflect.Descriptor instead. 159func (*MetricStructuredName) Descriptor() ([]byte, []int) { 160 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{0} 161} 162 163func (x *MetricStructuredName) GetOrigin() string { 164 if x != nil { 165 return x.Origin 166 } 167 return "" 168} 169 170func (x *MetricStructuredName) GetName() string { 171 if x != nil { 172 return x.Name 173 } 174 return "" 175} 176 177func (x *MetricStructuredName) GetContext() map[string]string { 178 if x != nil { 179 return x.Context 180 } 181 return nil 182} 183 184// Describes the state of a metric. 185type MetricUpdate struct { 186 state protoimpl.MessageState 187 sizeCache protoimpl.SizeCache 188 unknownFields protoimpl.UnknownFields 189 190 // Name of the metric. 191 Name *MetricStructuredName `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 192 // Metric aggregation kind. The possible metric aggregation kinds are 193 // "Sum", "Max", "Min", "Mean", "Set", "And", "Or", and "Distribution". 194 // The specified aggregation kind is case-insensitive. 195 // 196 // If omitted, this is not an aggregated value but instead 197 // a single metric sample value. 198 Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` 199 // True if this metric is reported as the total cumulative aggregate 200 // value accumulated since the worker started working on this WorkItem. 201 // By default this is false, indicating that this metric is reported 202 // as a delta that is not associated with any WorkItem. 203 Cumulative bool `protobuf:"varint,3,opt,name=cumulative,proto3" json:"cumulative,omitempty"` 204 // Worker-computed aggregate value for aggregation kinds "Sum", "Max", "Min", 205 // "And", and "Or". The possible value types are Long, Double, and Boolean. 206 Scalar *structpb.Value `protobuf:"bytes,4,opt,name=scalar,proto3" json:"scalar,omitempty"` 207 // Worker-computed aggregate value for the "Mean" aggregation kind. 208 // This holds the sum of the aggregated values and is used in combination 209 // with mean_count below to obtain the actual mean aggregate value. 210 // The only possible value types are Long and Double. 211 MeanSum *structpb.Value `protobuf:"bytes,5,opt,name=mean_sum,json=meanSum,proto3" json:"mean_sum,omitempty"` 212 // Worker-computed aggregate value for the "Mean" aggregation kind. 213 // This holds the count of the aggregated values and is used in combination 214 // with mean_sum above to obtain the actual mean aggregate value. 215 // The only possible value type is Long. 216 MeanCount *structpb.Value `protobuf:"bytes,6,opt,name=mean_count,json=meanCount,proto3" json:"mean_count,omitempty"` 217 // Worker-computed aggregate value for the "Set" aggregation kind. The only 218 // possible value type is a list of Values whose type can be Long, Double, 219 // or String, according to the metric's type. All Values in the list must 220 // be of the same type. 221 Set *structpb.Value `protobuf:"bytes,7,opt,name=set,proto3" json:"set,omitempty"` 222 // A struct value describing properties of a distribution of numeric values. 223 Distribution *structpb.Value `protobuf:"bytes,11,opt,name=distribution,proto3" json:"distribution,omitempty"` 224 // A struct value describing properties of a Gauge. 225 // Metrics of gauge type show the value of a metric across time, and is 226 // aggregated based on the newest value. 227 Gauge *structpb.Value `protobuf:"bytes,12,opt,name=gauge,proto3" json:"gauge,omitempty"` 228 // Worker-computed aggregate value for internal use by the Dataflow 229 // service. 230 Internal *structpb.Value `protobuf:"bytes,8,opt,name=internal,proto3" json:"internal,omitempty"` 231 // Timestamp associated with the metric value. Optional when workers are 232 // reporting work progress; it will be filled in responses from the 233 // metrics API. 234 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 235} 236 237func (x *MetricUpdate) Reset() { 238 *x = MetricUpdate{} 239 if protoimpl.UnsafeEnabled { 240 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[1] 241 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 242 ms.StoreMessageInfo(mi) 243 } 244} 245 246func (x *MetricUpdate) String() string { 247 return protoimpl.X.MessageStringOf(x) 248} 249 250func (*MetricUpdate) ProtoMessage() {} 251 252func (x *MetricUpdate) ProtoReflect() protoreflect.Message { 253 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[1] 254 if protoimpl.UnsafeEnabled && x != nil { 255 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 256 if ms.LoadMessageInfo() == nil { 257 ms.StoreMessageInfo(mi) 258 } 259 return ms 260 } 261 return mi.MessageOf(x) 262} 263 264// Deprecated: Use MetricUpdate.ProtoReflect.Descriptor instead. 265func (*MetricUpdate) Descriptor() ([]byte, []int) { 266 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{1} 267} 268 269func (x *MetricUpdate) GetName() *MetricStructuredName { 270 if x != nil { 271 return x.Name 272 } 273 return nil 274} 275 276func (x *MetricUpdate) GetKind() string { 277 if x != nil { 278 return x.Kind 279 } 280 return "" 281} 282 283func (x *MetricUpdate) GetCumulative() bool { 284 if x != nil { 285 return x.Cumulative 286 } 287 return false 288} 289 290func (x *MetricUpdate) GetScalar() *structpb.Value { 291 if x != nil { 292 return x.Scalar 293 } 294 return nil 295} 296 297func (x *MetricUpdate) GetMeanSum() *structpb.Value { 298 if x != nil { 299 return x.MeanSum 300 } 301 return nil 302} 303 304func (x *MetricUpdate) GetMeanCount() *structpb.Value { 305 if x != nil { 306 return x.MeanCount 307 } 308 return nil 309} 310 311func (x *MetricUpdate) GetSet() *structpb.Value { 312 if x != nil { 313 return x.Set 314 } 315 return nil 316} 317 318func (x *MetricUpdate) GetDistribution() *structpb.Value { 319 if x != nil { 320 return x.Distribution 321 } 322 return nil 323} 324 325func (x *MetricUpdate) GetGauge() *structpb.Value { 326 if x != nil { 327 return x.Gauge 328 } 329 return nil 330} 331 332func (x *MetricUpdate) GetInternal() *structpb.Value { 333 if x != nil { 334 return x.Internal 335 } 336 return nil 337} 338 339func (x *MetricUpdate) GetUpdateTime() *timestamppb.Timestamp { 340 if x != nil { 341 return x.UpdateTime 342 } 343 return nil 344} 345 346// Request to get job metrics. 347type GetJobMetricsRequest struct { 348 state protoimpl.MessageState 349 sizeCache protoimpl.SizeCache 350 unknownFields protoimpl.UnknownFields 351 352 // A project id. 353 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` 354 // The job to get metrics for. 355 JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` 356 // Return only metric data that has changed since this time. 357 // Default is to return all information about all metrics for the job. 358 StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 359 // The [regional endpoint] 360 // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that 361 // contains the job specified by job_id. 362 Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` 363} 364 365func (x *GetJobMetricsRequest) Reset() { 366 *x = GetJobMetricsRequest{} 367 if protoimpl.UnsafeEnabled { 368 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[2] 369 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 370 ms.StoreMessageInfo(mi) 371 } 372} 373 374func (x *GetJobMetricsRequest) String() string { 375 return protoimpl.X.MessageStringOf(x) 376} 377 378func (*GetJobMetricsRequest) ProtoMessage() {} 379 380func (x *GetJobMetricsRequest) ProtoReflect() protoreflect.Message { 381 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[2] 382 if protoimpl.UnsafeEnabled && x != nil { 383 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 384 if ms.LoadMessageInfo() == nil { 385 ms.StoreMessageInfo(mi) 386 } 387 return ms 388 } 389 return mi.MessageOf(x) 390} 391 392// Deprecated: Use GetJobMetricsRequest.ProtoReflect.Descriptor instead. 393func (*GetJobMetricsRequest) Descriptor() ([]byte, []int) { 394 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{2} 395} 396 397func (x *GetJobMetricsRequest) GetProjectId() string { 398 if x != nil { 399 return x.ProjectId 400 } 401 return "" 402} 403 404func (x *GetJobMetricsRequest) GetJobId() string { 405 if x != nil { 406 return x.JobId 407 } 408 return "" 409} 410 411func (x *GetJobMetricsRequest) GetStartTime() *timestamppb.Timestamp { 412 if x != nil { 413 return x.StartTime 414 } 415 return nil 416} 417 418func (x *GetJobMetricsRequest) GetLocation() string { 419 if x != nil { 420 return x.Location 421 } 422 return "" 423} 424 425// JobMetrics contains a collection of metrics describing the detailed progress 426// of a Dataflow job. Metrics correspond to user-defined and system-defined 427// metrics in the job. 428// 429// This resource captures only the most recent values of each metric; 430// time-series data can be queried for them (under the same metric names) 431// from Cloud Monitoring. 432type JobMetrics struct { 433 state protoimpl.MessageState 434 sizeCache protoimpl.SizeCache 435 unknownFields protoimpl.UnknownFields 436 437 // Timestamp as of which metric values are current. 438 MetricTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=metric_time,json=metricTime,proto3" json:"metric_time,omitempty"` 439 // All metrics for this job. 440 Metrics []*MetricUpdate `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"` 441} 442 443func (x *JobMetrics) Reset() { 444 *x = JobMetrics{} 445 if protoimpl.UnsafeEnabled { 446 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[3] 447 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 448 ms.StoreMessageInfo(mi) 449 } 450} 451 452func (x *JobMetrics) String() string { 453 return protoimpl.X.MessageStringOf(x) 454} 455 456func (*JobMetrics) ProtoMessage() {} 457 458func (x *JobMetrics) ProtoReflect() protoreflect.Message { 459 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[3] 460 if protoimpl.UnsafeEnabled && x != nil { 461 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 462 if ms.LoadMessageInfo() == nil { 463 ms.StoreMessageInfo(mi) 464 } 465 return ms 466 } 467 return mi.MessageOf(x) 468} 469 470// Deprecated: Use JobMetrics.ProtoReflect.Descriptor instead. 471func (*JobMetrics) Descriptor() ([]byte, []int) { 472 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{3} 473} 474 475func (x *JobMetrics) GetMetricTime() *timestamppb.Timestamp { 476 if x != nil { 477 return x.MetricTime 478 } 479 return nil 480} 481 482func (x *JobMetrics) GetMetrics() []*MetricUpdate { 483 if x != nil { 484 return x.Metrics 485 } 486 return nil 487} 488 489// Request to get job execution details. 490type GetJobExecutionDetailsRequest struct { 491 state protoimpl.MessageState 492 sizeCache protoimpl.SizeCache 493 unknownFields protoimpl.UnknownFields 494 495 // A project id. 496 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` 497 // The job to get execution details for. 498 JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` 499 // The [regional endpoint] 500 // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that 501 // contains the job specified by job_id. 502 Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` 503 // If specified, determines the maximum number of stages to 504 // return. If unspecified, the service may choose an appropriate 505 // default, or may return an arbitrarily large number of results. 506 PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 507 // If supplied, this should be the value of next_page_token returned 508 // by an earlier call. This will cause the next page of results to 509 // be returned. 510 PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 511} 512 513func (x *GetJobExecutionDetailsRequest) Reset() { 514 *x = GetJobExecutionDetailsRequest{} 515 if protoimpl.UnsafeEnabled { 516 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[4] 517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 518 ms.StoreMessageInfo(mi) 519 } 520} 521 522func (x *GetJobExecutionDetailsRequest) String() string { 523 return protoimpl.X.MessageStringOf(x) 524} 525 526func (*GetJobExecutionDetailsRequest) ProtoMessage() {} 527 528func (x *GetJobExecutionDetailsRequest) ProtoReflect() protoreflect.Message { 529 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[4] 530 if protoimpl.UnsafeEnabled && x != nil { 531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 532 if ms.LoadMessageInfo() == nil { 533 ms.StoreMessageInfo(mi) 534 } 535 return ms 536 } 537 return mi.MessageOf(x) 538} 539 540// Deprecated: Use GetJobExecutionDetailsRequest.ProtoReflect.Descriptor instead. 541func (*GetJobExecutionDetailsRequest) Descriptor() ([]byte, []int) { 542 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{4} 543} 544 545func (x *GetJobExecutionDetailsRequest) GetProjectId() string { 546 if x != nil { 547 return x.ProjectId 548 } 549 return "" 550} 551 552func (x *GetJobExecutionDetailsRequest) GetJobId() string { 553 if x != nil { 554 return x.JobId 555 } 556 return "" 557} 558 559func (x *GetJobExecutionDetailsRequest) GetLocation() string { 560 if x != nil { 561 return x.Location 562 } 563 return "" 564} 565 566func (x *GetJobExecutionDetailsRequest) GetPageSize() int32 { 567 if x != nil { 568 return x.PageSize 569 } 570 return 0 571} 572 573func (x *GetJobExecutionDetailsRequest) GetPageToken() string { 574 if x != nil { 575 return x.PageToken 576 } 577 return "" 578} 579 580// Information about the progress of some component of job execution. 581type ProgressTimeseries struct { 582 state protoimpl.MessageState 583 sizeCache protoimpl.SizeCache 584 unknownFields protoimpl.UnknownFields 585 586 // The current progress of the component, in the range [0,1]. 587 CurrentProgress float64 `protobuf:"fixed64,1,opt,name=current_progress,json=currentProgress,proto3" json:"current_progress,omitempty"` 588 // History of progress for the component. 589 // 590 // Points are sorted by time. 591 DataPoints []*ProgressTimeseries_Point `protobuf:"bytes,2,rep,name=data_points,json=dataPoints,proto3" json:"data_points,omitempty"` 592} 593 594func (x *ProgressTimeseries) Reset() { 595 *x = ProgressTimeseries{} 596 if protoimpl.UnsafeEnabled { 597 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[5] 598 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 599 ms.StoreMessageInfo(mi) 600 } 601} 602 603func (x *ProgressTimeseries) String() string { 604 return protoimpl.X.MessageStringOf(x) 605} 606 607func (*ProgressTimeseries) ProtoMessage() {} 608 609func (x *ProgressTimeseries) ProtoReflect() protoreflect.Message { 610 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[5] 611 if protoimpl.UnsafeEnabled && x != nil { 612 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 613 if ms.LoadMessageInfo() == nil { 614 ms.StoreMessageInfo(mi) 615 } 616 return ms 617 } 618 return mi.MessageOf(x) 619} 620 621// Deprecated: Use ProgressTimeseries.ProtoReflect.Descriptor instead. 622func (*ProgressTimeseries) Descriptor() ([]byte, []int) { 623 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{5} 624} 625 626func (x *ProgressTimeseries) GetCurrentProgress() float64 { 627 if x != nil { 628 return x.CurrentProgress 629 } 630 return 0 631} 632 633func (x *ProgressTimeseries) GetDataPoints() []*ProgressTimeseries_Point { 634 if x != nil { 635 return x.DataPoints 636 } 637 return nil 638} 639 640// Information about a particular execution stage of a job. 641type StageSummary struct { 642 state protoimpl.MessageState 643 sizeCache protoimpl.SizeCache 644 unknownFields protoimpl.UnknownFields 645 646 // ID of this stage 647 StageId string `protobuf:"bytes,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"` 648 // State of this stage. 649 State ExecutionState `protobuf:"varint,2,opt,name=state,proto3,enum=google.dataflow.v1beta3.ExecutionState" json:"state,omitempty"` 650 // Start time of this stage. 651 StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 652 // End time of this stage. 653 // 654 // If the work item is completed, this is the actual end time of the stage. 655 // Otherwise, it is the predicted end time. 656 EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 657 // Progress for this stage. 658 // Only applicable to Batch jobs. 659 Progress *ProgressTimeseries `protobuf:"bytes,5,opt,name=progress,proto3" json:"progress,omitempty"` 660 // Metrics for this stage. 661 Metrics []*MetricUpdate `protobuf:"bytes,6,rep,name=metrics,proto3" json:"metrics,omitempty"` 662} 663 664func (x *StageSummary) Reset() { 665 *x = StageSummary{} 666 if protoimpl.UnsafeEnabled { 667 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[6] 668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 669 ms.StoreMessageInfo(mi) 670 } 671} 672 673func (x *StageSummary) String() string { 674 return protoimpl.X.MessageStringOf(x) 675} 676 677func (*StageSummary) ProtoMessage() {} 678 679func (x *StageSummary) ProtoReflect() protoreflect.Message { 680 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[6] 681 if protoimpl.UnsafeEnabled && x != nil { 682 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 683 if ms.LoadMessageInfo() == nil { 684 ms.StoreMessageInfo(mi) 685 } 686 return ms 687 } 688 return mi.MessageOf(x) 689} 690 691// Deprecated: Use StageSummary.ProtoReflect.Descriptor instead. 692func (*StageSummary) Descriptor() ([]byte, []int) { 693 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{6} 694} 695 696func (x *StageSummary) GetStageId() string { 697 if x != nil { 698 return x.StageId 699 } 700 return "" 701} 702 703func (x *StageSummary) GetState() ExecutionState { 704 if x != nil { 705 return x.State 706 } 707 return ExecutionState_EXECUTION_STATE_UNKNOWN 708} 709 710func (x *StageSummary) GetStartTime() *timestamppb.Timestamp { 711 if x != nil { 712 return x.StartTime 713 } 714 return nil 715} 716 717func (x *StageSummary) GetEndTime() *timestamppb.Timestamp { 718 if x != nil { 719 return x.EndTime 720 } 721 return nil 722} 723 724func (x *StageSummary) GetProgress() *ProgressTimeseries { 725 if x != nil { 726 return x.Progress 727 } 728 return nil 729} 730 731func (x *StageSummary) GetMetrics() []*MetricUpdate { 732 if x != nil { 733 return x.Metrics 734 } 735 return nil 736} 737 738// Information about the execution of a job. 739type JobExecutionDetails struct { 740 state protoimpl.MessageState 741 sizeCache protoimpl.SizeCache 742 unknownFields protoimpl.UnknownFields 743 744 // The stages of the job execution. 745 Stages []*StageSummary `protobuf:"bytes,1,rep,name=stages,proto3" json:"stages,omitempty"` 746 // If present, this response does not contain all requested tasks. To obtain 747 // the next page of results, repeat the request with page_token set to this 748 // value. 749 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 750} 751 752func (x *JobExecutionDetails) Reset() { 753 *x = JobExecutionDetails{} 754 if protoimpl.UnsafeEnabled { 755 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[7] 756 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 757 ms.StoreMessageInfo(mi) 758 } 759} 760 761func (x *JobExecutionDetails) String() string { 762 return protoimpl.X.MessageStringOf(x) 763} 764 765func (*JobExecutionDetails) ProtoMessage() {} 766 767func (x *JobExecutionDetails) ProtoReflect() protoreflect.Message { 768 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[7] 769 if protoimpl.UnsafeEnabled && x != nil { 770 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 771 if ms.LoadMessageInfo() == nil { 772 ms.StoreMessageInfo(mi) 773 } 774 return ms 775 } 776 return mi.MessageOf(x) 777} 778 779// Deprecated: Use JobExecutionDetails.ProtoReflect.Descriptor instead. 780func (*JobExecutionDetails) Descriptor() ([]byte, []int) { 781 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{7} 782} 783 784func (x *JobExecutionDetails) GetStages() []*StageSummary { 785 if x != nil { 786 return x.Stages 787 } 788 return nil 789} 790 791func (x *JobExecutionDetails) GetNextPageToken() string { 792 if x != nil { 793 return x.NextPageToken 794 } 795 return "" 796} 797 798// Request to get information about a particular execution stage of a job. 799// Currently only tracked for Batch jobs. 800type GetStageExecutionDetailsRequest struct { 801 state protoimpl.MessageState 802 sizeCache protoimpl.SizeCache 803 unknownFields protoimpl.UnknownFields 804 805 // A project id. 806 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` 807 // The job to get execution details for. 808 JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` 809 // The [regional endpoint] 810 // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that 811 // contains the job specified by job_id. 812 Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` 813 // The stage for which to fetch information. 814 StageId string `protobuf:"bytes,4,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"` 815 // If specified, determines the maximum number of work items to 816 // return. If unspecified, the service may choose an appropriate 817 // default, or may return an arbitrarily large number of results. 818 PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 819 // If supplied, this should be the value of next_page_token returned 820 // by an earlier call. This will cause the next page of results to 821 // be returned. 822 PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 823 // Lower time bound of work items to include, by start time. 824 StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 825 // Upper time bound of work items to include, by start time. 826 EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 827} 828 829func (x *GetStageExecutionDetailsRequest) Reset() { 830 *x = GetStageExecutionDetailsRequest{} 831 if protoimpl.UnsafeEnabled { 832 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[8] 833 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 834 ms.StoreMessageInfo(mi) 835 } 836} 837 838func (x *GetStageExecutionDetailsRequest) String() string { 839 return protoimpl.X.MessageStringOf(x) 840} 841 842func (*GetStageExecutionDetailsRequest) ProtoMessage() {} 843 844func (x *GetStageExecutionDetailsRequest) ProtoReflect() protoreflect.Message { 845 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[8] 846 if protoimpl.UnsafeEnabled && x != nil { 847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 848 if ms.LoadMessageInfo() == nil { 849 ms.StoreMessageInfo(mi) 850 } 851 return ms 852 } 853 return mi.MessageOf(x) 854} 855 856// Deprecated: Use GetStageExecutionDetailsRequest.ProtoReflect.Descriptor instead. 857func (*GetStageExecutionDetailsRequest) Descriptor() ([]byte, []int) { 858 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{8} 859} 860 861func (x *GetStageExecutionDetailsRequest) GetProjectId() string { 862 if x != nil { 863 return x.ProjectId 864 } 865 return "" 866} 867 868func (x *GetStageExecutionDetailsRequest) GetJobId() string { 869 if x != nil { 870 return x.JobId 871 } 872 return "" 873} 874 875func (x *GetStageExecutionDetailsRequest) GetLocation() string { 876 if x != nil { 877 return x.Location 878 } 879 return "" 880} 881 882func (x *GetStageExecutionDetailsRequest) GetStageId() string { 883 if x != nil { 884 return x.StageId 885 } 886 return "" 887} 888 889func (x *GetStageExecutionDetailsRequest) GetPageSize() int32 { 890 if x != nil { 891 return x.PageSize 892 } 893 return 0 894} 895 896func (x *GetStageExecutionDetailsRequest) GetPageToken() string { 897 if x != nil { 898 return x.PageToken 899 } 900 return "" 901} 902 903func (x *GetStageExecutionDetailsRequest) GetStartTime() *timestamppb.Timestamp { 904 if x != nil { 905 return x.StartTime 906 } 907 return nil 908} 909 910func (x *GetStageExecutionDetailsRequest) GetEndTime() *timestamppb.Timestamp { 911 if x != nil { 912 return x.EndTime 913 } 914 return nil 915} 916 917// Information about an individual work item execution. 918type WorkItemDetails struct { 919 state protoimpl.MessageState 920 sizeCache protoimpl.SizeCache 921 unknownFields protoimpl.UnknownFields 922 923 // Name of this work item. 924 TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` 925 // Attempt ID of this work item 926 AttemptId string `protobuf:"bytes,2,opt,name=attempt_id,json=attemptId,proto3" json:"attempt_id,omitempty"` 927 // Start time of this work item attempt. 928 StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 929 // End time of this work item attempt. 930 // 931 // If the work item is completed, this is the actual end time of the work 932 // item. Otherwise, it is the predicted end time. 933 EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 934 // State of this work item. 935 State ExecutionState `protobuf:"varint,5,opt,name=state,proto3,enum=google.dataflow.v1beta3.ExecutionState" json:"state,omitempty"` 936 // Progress of this work item. 937 Progress *ProgressTimeseries `protobuf:"bytes,6,opt,name=progress,proto3" json:"progress,omitempty"` 938 // Metrics for this work item. 939 Metrics []*MetricUpdate `protobuf:"bytes,7,rep,name=metrics,proto3" json:"metrics,omitempty"` 940} 941 942func (x *WorkItemDetails) Reset() { 943 *x = WorkItemDetails{} 944 if protoimpl.UnsafeEnabled { 945 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[9] 946 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 947 ms.StoreMessageInfo(mi) 948 } 949} 950 951func (x *WorkItemDetails) String() string { 952 return protoimpl.X.MessageStringOf(x) 953} 954 955func (*WorkItemDetails) ProtoMessage() {} 956 957func (x *WorkItemDetails) ProtoReflect() protoreflect.Message { 958 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[9] 959 if protoimpl.UnsafeEnabled && x != nil { 960 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 961 if ms.LoadMessageInfo() == nil { 962 ms.StoreMessageInfo(mi) 963 } 964 return ms 965 } 966 return mi.MessageOf(x) 967} 968 969// Deprecated: Use WorkItemDetails.ProtoReflect.Descriptor instead. 970func (*WorkItemDetails) Descriptor() ([]byte, []int) { 971 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{9} 972} 973 974func (x *WorkItemDetails) GetTaskId() string { 975 if x != nil { 976 return x.TaskId 977 } 978 return "" 979} 980 981func (x *WorkItemDetails) GetAttemptId() string { 982 if x != nil { 983 return x.AttemptId 984 } 985 return "" 986} 987 988func (x *WorkItemDetails) GetStartTime() *timestamppb.Timestamp { 989 if x != nil { 990 return x.StartTime 991 } 992 return nil 993} 994 995func (x *WorkItemDetails) GetEndTime() *timestamppb.Timestamp { 996 if x != nil { 997 return x.EndTime 998 } 999 return nil 1000} 1001 1002func (x *WorkItemDetails) GetState() ExecutionState { 1003 if x != nil { 1004 return x.State 1005 } 1006 return ExecutionState_EXECUTION_STATE_UNKNOWN 1007} 1008 1009func (x *WorkItemDetails) GetProgress() *ProgressTimeseries { 1010 if x != nil { 1011 return x.Progress 1012 } 1013 return nil 1014} 1015 1016func (x *WorkItemDetails) GetMetrics() []*MetricUpdate { 1017 if x != nil { 1018 return x.Metrics 1019 } 1020 return nil 1021} 1022 1023// Information about a worker 1024type WorkerDetails struct { 1025 state protoimpl.MessageState 1026 sizeCache protoimpl.SizeCache 1027 unknownFields protoimpl.UnknownFields 1028 1029 // Name of this worker 1030 WorkerName string `protobuf:"bytes,1,opt,name=worker_name,json=workerName,proto3" json:"worker_name,omitempty"` 1031 // Work items processed by this worker, sorted by time. 1032 WorkItems []*WorkItemDetails `protobuf:"bytes,2,rep,name=work_items,json=workItems,proto3" json:"work_items,omitempty"` 1033} 1034 1035func (x *WorkerDetails) Reset() { 1036 *x = WorkerDetails{} 1037 if protoimpl.UnsafeEnabled { 1038 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[10] 1039 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1040 ms.StoreMessageInfo(mi) 1041 } 1042} 1043 1044func (x *WorkerDetails) String() string { 1045 return protoimpl.X.MessageStringOf(x) 1046} 1047 1048func (*WorkerDetails) ProtoMessage() {} 1049 1050func (x *WorkerDetails) ProtoReflect() protoreflect.Message { 1051 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[10] 1052 if protoimpl.UnsafeEnabled && x != nil { 1053 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1054 if ms.LoadMessageInfo() == nil { 1055 ms.StoreMessageInfo(mi) 1056 } 1057 return ms 1058 } 1059 return mi.MessageOf(x) 1060} 1061 1062// Deprecated: Use WorkerDetails.ProtoReflect.Descriptor instead. 1063func (*WorkerDetails) Descriptor() ([]byte, []int) { 1064 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{10} 1065} 1066 1067func (x *WorkerDetails) GetWorkerName() string { 1068 if x != nil { 1069 return x.WorkerName 1070 } 1071 return "" 1072} 1073 1074func (x *WorkerDetails) GetWorkItems() []*WorkItemDetails { 1075 if x != nil { 1076 return x.WorkItems 1077 } 1078 return nil 1079} 1080 1081// Information about the workers and work items within a stage. 1082type StageExecutionDetails struct { 1083 state protoimpl.MessageState 1084 sizeCache protoimpl.SizeCache 1085 unknownFields protoimpl.UnknownFields 1086 1087 // Workers that have done work on the stage. 1088 Workers []*WorkerDetails `protobuf:"bytes,1,rep,name=workers,proto3" json:"workers,omitempty"` 1089 // If present, this response does not contain all requested tasks. To obtain 1090 // the next page of results, repeat the request with page_token set to this 1091 // value. 1092 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1093} 1094 1095func (x *StageExecutionDetails) Reset() { 1096 *x = StageExecutionDetails{} 1097 if protoimpl.UnsafeEnabled { 1098 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[11] 1099 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1100 ms.StoreMessageInfo(mi) 1101 } 1102} 1103 1104func (x *StageExecutionDetails) String() string { 1105 return protoimpl.X.MessageStringOf(x) 1106} 1107 1108func (*StageExecutionDetails) ProtoMessage() {} 1109 1110func (x *StageExecutionDetails) ProtoReflect() protoreflect.Message { 1111 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[11] 1112 if protoimpl.UnsafeEnabled && x != nil { 1113 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1114 if ms.LoadMessageInfo() == nil { 1115 ms.StoreMessageInfo(mi) 1116 } 1117 return ms 1118 } 1119 return mi.MessageOf(x) 1120} 1121 1122// Deprecated: Use StageExecutionDetails.ProtoReflect.Descriptor instead. 1123func (*StageExecutionDetails) Descriptor() ([]byte, []int) { 1124 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{11} 1125} 1126 1127func (x *StageExecutionDetails) GetWorkers() []*WorkerDetails { 1128 if x != nil { 1129 return x.Workers 1130 } 1131 return nil 1132} 1133 1134func (x *StageExecutionDetails) GetNextPageToken() string { 1135 if x != nil { 1136 return x.NextPageToken 1137 } 1138 return "" 1139} 1140 1141// A point in the timeseries. 1142type ProgressTimeseries_Point struct { 1143 state protoimpl.MessageState 1144 sizeCache protoimpl.SizeCache 1145 unknownFields protoimpl.UnknownFields 1146 1147 // The timestamp of the point. 1148 Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"` 1149 // The value of the point. 1150 Value float64 `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"` 1151} 1152 1153func (x *ProgressTimeseries_Point) Reset() { 1154 *x = ProgressTimeseries_Point{} 1155 if protoimpl.UnsafeEnabled { 1156 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[13] 1157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1158 ms.StoreMessageInfo(mi) 1159 } 1160} 1161 1162func (x *ProgressTimeseries_Point) String() string { 1163 return protoimpl.X.MessageStringOf(x) 1164} 1165 1166func (*ProgressTimeseries_Point) ProtoMessage() {} 1167 1168func (x *ProgressTimeseries_Point) ProtoReflect() protoreflect.Message { 1169 mi := &file_google_dataflow_v1beta3_metrics_proto_msgTypes[13] 1170 if protoimpl.UnsafeEnabled && x != nil { 1171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1172 if ms.LoadMessageInfo() == nil { 1173 ms.StoreMessageInfo(mi) 1174 } 1175 return ms 1176 } 1177 return mi.MessageOf(x) 1178} 1179 1180// Deprecated: Use ProgressTimeseries_Point.ProtoReflect.Descriptor instead. 1181func (*ProgressTimeseries_Point) Descriptor() ([]byte, []int) { 1182 return file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP(), []int{5, 0} 1183} 1184 1185func (x *ProgressTimeseries_Point) GetTime() *timestamppb.Timestamp { 1186 if x != nil { 1187 return x.Time 1188 } 1189 return nil 1190} 1191 1192func (x *ProgressTimeseries_Point) GetValue() float64 { 1193 if x != nil { 1194 return x.Value 1195 } 1196 return 0 1197} 1198 1199var File_google_dataflow_v1beta3_metrics_proto protoreflect.FileDescriptor 1200 1201var file_google_dataflow_v1beta3_metrics_proto_rawDesc = []byte{ 1202 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 1203 0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 1204 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1205 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 1206 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 1207 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 1208 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 1209 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 1210 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 1211 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 1212 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 1213 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x74, 0x72, 0x69, 1214 0x63, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 1215 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1216 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 1217 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x63, 1218 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 1219 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 1220 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x72, 1221 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 1222 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 1223 0x74, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 1224 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 1225 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 1226 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa4, 0x04, 1227 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 1228 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 1229 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 1230 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x72, 1231 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 1232 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 1233 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 1234 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x75, 0x6d, 0x75, 0x6c, 1235 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x18, 1236 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1237 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, 1238 0x63, 0x61, 0x6c, 0x61, 0x72, 0x12, 0x31, 0x0a, 0x08, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x75, 1239 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1240 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 1241 0x07, 0x6d, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x6d, 0x12, 0x35, 0x0a, 0x0a, 0x6d, 0x65, 0x61, 0x6e, 1242 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 1243 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 1244 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x65, 0x61, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 1245 0x28, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 1246 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 1247 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x69, 0x73, 1248 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 1249 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1250 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 1251 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x05, 0x67, 0x61, 0x75, 0x67, 0x65, 0x18, 0x0c, 1252 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1253 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x67, 0x61, 1254 0x75, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 1255 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1256 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x69, 1257 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 1258 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 1259 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 1260 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 1261 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 1262 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 1263 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 1264 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 1265 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 1266 0x62, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 1267 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1268 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 1269 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 1270 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 1271 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x0a, 0x4a, 1272 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 1273 0x72, 0x69, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1274 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1275 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 1276 0x69, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 1277 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1278 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1279 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 1280 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4a, 1281 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 1282 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 1283 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 1284 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 1285 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 1286 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 1287 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 1288 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 1289 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 1290 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 1291 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xe2, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x67, 1292 0x72, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x29, 1293 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 1294 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 1295 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x64, 0x61, 0x74, 1296 0x61, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 1297 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 1298 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 1299 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 1300 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x4d, 0x0a, 1301 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 1302 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1303 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 1304 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 1305 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe4, 0x02, 0x0a, 1306 0x0c, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 1307 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1308 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 1309 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1310 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1311 0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 1312 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 1313 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 1314 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 1315 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 1316 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 1317 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1318 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 1319 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x70, 0x72, 0x6f, 1320 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 1321 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 1322 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x69, 1323 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 1324 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 1325 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 1326 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4d, 0x65, 1327 0x74, 0x72, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 1328 0x69, 0x63, 0x73, 0x22, 0x7c, 0x0a, 0x13, 0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 1329 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 1330 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 1331 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 1332 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 1333 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x67, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 1334 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 1335 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 1336 0x6e, 0x22, 0xbc, 0x02, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x45, 0x78, 1337 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 1338 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 1339 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 1340 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 1341 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 1342 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 1343 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 1344 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 1345 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 1346 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 1347 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 1348 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 1349 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 1350 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1351 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 1352 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 1353 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 1354 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 1355 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 1356 0x22, 0x84, 0x03, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x74, 1357 0x61, 0x69, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 1358 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 1359 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 1360 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 1361 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 1362 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1363 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 1364 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 1365 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1366 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 1367 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 1368 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 1369 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 1370 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 1371 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 1372 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 1373 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 1374 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 1375 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x08, 0x70, 0x72, 1376 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 1377 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1378 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1379 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 1380 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x79, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 1381 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 1382 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 1383 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 1384 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 1385 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 1386 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 1387 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 1388 0x6d, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 1389 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x07, 1390 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 1391 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 1392 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x65, 1393 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x26, 1394 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 1395 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 1396 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2a, 0xc5, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 1397 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, 0x45, 1398 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 1399 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 1400 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 1401 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, 0x45, 0x43, 0x55, 1402 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 1403 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 1404 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 1405 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 1406 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 1407 0x1d, 0x0a, 0x19, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 1408 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x32, 0xda, 1409 0x04, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 1410 0x33, 0x12, 0x65, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 1411 0x63, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 1412 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 1413 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 1414 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 1415 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 1416 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 1417 0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 1418 0x69, 0x6c, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 1419 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x47, 0x65, 1420 0x74, 0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 1421 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 1422 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 1423 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 1424 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x18, 1425 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 1426 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1427 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 1428 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 1429 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 1430 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 1431 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x2e, 0x53, 0x74, 0x61, 1432 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 1433 0x6c, 0x73, 0x22, 0x00, 0x1a, 0xd4, 0x01, 0xca, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 1434 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 1435 0x6d, 0xd2, 0x41, 0xb6, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 1436 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 1437 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 1438 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 1439 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 1440 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 1441 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 1442 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 1443 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 1444 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 1445 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x75, 0x73, 0x65, 1446 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x42, 0xd1, 0x01, 0x0a, 0x1b, 1447 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x66, 1448 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x42, 0x0c, 0x4d, 0x65, 0x74, 1449 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 1450 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 1451 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 1452 0x69, 0x73, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x31, 0x62, 0x65, 1453 0x74, 0x61, 0x33, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0xaa, 0x02, 0x1d, 0x47, 1454 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 1455 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x33, 0xca, 0x02, 0x1d, 0x47, 1456 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x44, 0x61, 0x74, 0x61, 1457 0x66, 0x6c, 0x6f, 0x77, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0xea, 0x02, 0x20, 0x47, 1458 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x61, 1459 0x74, 0x61, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x33, 0x62, 1460 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1461} 1462 1463var ( 1464 file_google_dataflow_v1beta3_metrics_proto_rawDescOnce sync.Once 1465 file_google_dataflow_v1beta3_metrics_proto_rawDescData = file_google_dataflow_v1beta3_metrics_proto_rawDesc 1466) 1467 1468func file_google_dataflow_v1beta3_metrics_proto_rawDescGZIP() []byte { 1469 file_google_dataflow_v1beta3_metrics_proto_rawDescOnce.Do(func() { 1470 file_google_dataflow_v1beta3_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_dataflow_v1beta3_metrics_proto_rawDescData) 1471 }) 1472 return file_google_dataflow_v1beta3_metrics_proto_rawDescData 1473} 1474 1475var file_google_dataflow_v1beta3_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 1476var file_google_dataflow_v1beta3_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 14) 1477var file_google_dataflow_v1beta3_metrics_proto_goTypes = []interface{}{ 1478 (ExecutionState)(0), // 0: google.dataflow.v1beta3.ExecutionState 1479 (*MetricStructuredName)(nil), // 1: google.dataflow.v1beta3.MetricStructuredName 1480 (*MetricUpdate)(nil), // 2: google.dataflow.v1beta3.MetricUpdate 1481 (*GetJobMetricsRequest)(nil), // 3: google.dataflow.v1beta3.GetJobMetricsRequest 1482 (*JobMetrics)(nil), // 4: google.dataflow.v1beta3.JobMetrics 1483 (*GetJobExecutionDetailsRequest)(nil), // 5: google.dataflow.v1beta3.GetJobExecutionDetailsRequest 1484 (*ProgressTimeseries)(nil), // 6: google.dataflow.v1beta3.ProgressTimeseries 1485 (*StageSummary)(nil), // 7: google.dataflow.v1beta3.StageSummary 1486 (*JobExecutionDetails)(nil), // 8: google.dataflow.v1beta3.JobExecutionDetails 1487 (*GetStageExecutionDetailsRequest)(nil), // 9: google.dataflow.v1beta3.GetStageExecutionDetailsRequest 1488 (*WorkItemDetails)(nil), // 10: google.dataflow.v1beta3.WorkItemDetails 1489 (*WorkerDetails)(nil), // 11: google.dataflow.v1beta3.WorkerDetails 1490 (*StageExecutionDetails)(nil), // 12: google.dataflow.v1beta3.StageExecutionDetails 1491 nil, // 13: google.dataflow.v1beta3.MetricStructuredName.ContextEntry 1492 (*ProgressTimeseries_Point)(nil), // 14: google.dataflow.v1beta3.ProgressTimeseries.Point 1493 (*structpb.Value)(nil), // 15: google.protobuf.Value 1494 (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp 1495} 1496var file_google_dataflow_v1beta3_metrics_proto_depIdxs = []int32{ 1497 13, // 0: google.dataflow.v1beta3.MetricStructuredName.context:type_name -> google.dataflow.v1beta3.MetricStructuredName.ContextEntry 1498 1, // 1: google.dataflow.v1beta3.MetricUpdate.name:type_name -> google.dataflow.v1beta3.MetricStructuredName 1499 15, // 2: google.dataflow.v1beta3.MetricUpdate.scalar:type_name -> google.protobuf.Value 1500 15, // 3: google.dataflow.v1beta3.MetricUpdate.mean_sum:type_name -> google.protobuf.Value 1501 15, // 4: google.dataflow.v1beta3.MetricUpdate.mean_count:type_name -> google.protobuf.Value 1502 15, // 5: google.dataflow.v1beta3.MetricUpdate.set:type_name -> google.protobuf.Value 1503 15, // 6: google.dataflow.v1beta3.MetricUpdate.distribution:type_name -> google.protobuf.Value 1504 15, // 7: google.dataflow.v1beta3.MetricUpdate.gauge:type_name -> google.protobuf.Value 1505 15, // 8: google.dataflow.v1beta3.MetricUpdate.internal:type_name -> google.protobuf.Value 1506 16, // 9: google.dataflow.v1beta3.MetricUpdate.update_time:type_name -> google.protobuf.Timestamp 1507 16, // 10: google.dataflow.v1beta3.GetJobMetricsRequest.start_time:type_name -> google.protobuf.Timestamp 1508 16, // 11: google.dataflow.v1beta3.JobMetrics.metric_time:type_name -> google.protobuf.Timestamp 1509 2, // 12: google.dataflow.v1beta3.JobMetrics.metrics:type_name -> google.dataflow.v1beta3.MetricUpdate 1510 14, // 13: google.dataflow.v1beta3.ProgressTimeseries.data_points:type_name -> google.dataflow.v1beta3.ProgressTimeseries.Point 1511 0, // 14: google.dataflow.v1beta3.StageSummary.state:type_name -> google.dataflow.v1beta3.ExecutionState 1512 16, // 15: google.dataflow.v1beta3.StageSummary.start_time:type_name -> google.protobuf.Timestamp 1513 16, // 16: google.dataflow.v1beta3.StageSummary.end_time:type_name -> google.protobuf.Timestamp 1514 6, // 17: google.dataflow.v1beta3.StageSummary.progress:type_name -> google.dataflow.v1beta3.ProgressTimeseries 1515 2, // 18: google.dataflow.v1beta3.StageSummary.metrics:type_name -> google.dataflow.v1beta3.MetricUpdate 1516 7, // 19: google.dataflow.v1beta3.JobExecutionDetails.stages:type_name -> google.dataflow.v1beta3.StageSummary 1517 16, // 20: google.dataflow.v1beta3.GetStageExecutionDetailsRequest.start_time:type_name -> google.protobuf.Timestamp 1518 16, // 21: google.dataflow.v1beta3.GetStageExecutionDetailsRequest.end_time:type_name -> google.protobuf.Timestamp 1519 16, // 22: google.dataflow.v1beta3.WorkItemDetails.start_time:type_name -> google.protobuf.Timestamp 1520 16, // 23: google.dataflow.v1beta3.WorkItemDetails.end_time:type_name -> google.protobuf.Timestamp 1521 0, // 24: google.dataflow.v1beta3.WorkItemDetails.state:type_name -> google.dataflow.v1beta3.ExecutionState 1522 6, // 25: google.dataflow.v1beta3.WorkItemDetails.progress:type_name -> google.dataflow.v1beta3.ProgressTimeseries 1523 2, // 26: google.dataflow.v1beta3.WorkItemDetails.metrics:type_name -> google.dataflow.v1beta3.MetricUpdate 1524 10, // 27: google.dataflow.v1beta3.WorkerDetails.work_items:type_name -> google.dataflow.v1beta3.WorkItemDetails 1525 11, // 28: google.dataflow.v1beta3.StageExecutionDetails.workers:type_name -> google.dataflow.v1beta3.WorkerDetails 1526 16, // 29: google.dataflow.v1beta3.ProgressTimeseries.Point.time:type_name -> google.protobuf.Timestamp 1527 3, // 30: google.dataflow.v1beta3.MetricsV1Beta3.GetJobMetrics:input_type -> google.dataflow.v1beta3.GetJobMetricsRequest 1528 5, // 31: google.dataflow.v1beta3.MetricsV1Beta3.GetJobExecutionDetails:input_type -> google.dataflow.v1beta3.GetJobExecutionDetailsRequest 1529 9, // 32: google.dataflow.v1beta3.MetricsV1Beta3.GetStageExecutionDetails:input_type -> google.dataflow.v1beta3.GetStageExecutionDetailsRequest 1530 4, // 33: google.dataflow.v1beta3.MetricsV1Beta3.GetJobMetrics:output_type -> google.dataflow.v1beta3.JobMetrics 1531 8, // 34: google.dataflow.v1beta3.MetricsV1Beta3.GetJobExecutionDetails:output_type -> google.dataflow.v1beta3.JobExecutionDetails 1532 12, // 35: google.dataflow.v1beta3.MetricsV1Beta3.GetStageExecutionDetails:output_type -> google.dataflow.v1beta3.StageExecutionDetails 1533 33, // [33:36] is the sub-list for method output_type 1534 30, // [30:33] is the sub-list for method input_type 1535 30, // [30:30] is the sub-list for extension type_name 1536 30, // [30:30] is the sub-list for extension extendee 1537 0, // [0:30] is the sub-list for field type_name 1538} 1539 1540func init() { file_google_dataflow_v1beta3_metrics_proto_init() } 1541func file_google_dataflow_v1beta3_metrics_proto_init() { 1542 if File_google_dataflow_v1beta3_metrics_proto != nil { 1543 return 1544 } 1545 if !protoimpl.UnsafeEnabled { 1546 file_google_dataflow_v1beta3_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1547 switch v := v.(*MetricStructuredName); i { 1548 case 0: 1549 return &v.state 1550 case 1: 1551 return &v.sizeCache 1552 case 2: 1553 return &v.unknownFields 1554 default: 1555 return nil 1556 } 1557 } 1558 file_google_dataflow_v1beta3_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1559 switch v := v.(*MetricUpdate); i { 1560 case 0: 1561 return &v.state 1562 case 1: 1563 return &v.sizeCache 1564 case 2: 1565 return &v.unknownFields 1566 default: 1567 return nil 1568 } 1569 } 1570 file_google_dataflow_v1beta3_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1571 switch v := v.(*GetJobMetricsRequest); i { 1572 case 0: 1573 return &v.state 1574 case 1: 1575 return &v.sizeCache 1576 case 2: 1577 return &v.unknownFields 1578 default: 1579 return nil 1580 } 1581 } 1582 file_google_dataflow_v1beta3_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1583 switch v := v.(*JobMetrics); i { 1584 case 0: 1585 return &v.state 1586 case 1: 1587 return &v.sizeCache 1588 case 2: 1589 return &v.unknownFields 1590 default: 1591 return nil 1592 } 1593 } 1594 file_google_dataflow_v1beta3_metrics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1595 switch v := v.(*GetJobExecutionDetailsRequest); i { 1596 case 0: 1597 return &v.state 1598 case 1: 1599 return &v.sizeCache 1600 case 2: 1601 return &v.unknownFields 1602 default: 1603 return nil 1604 } 1605 } 1606 file_google_dataflow_v1beta3_metrics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1607 switch v := v.(*ProgressTimeseries); i { 1608 case 0: 1609 return &v.state 1610 case 1: 1611 return &v.sizeCache 1612 case 2: 1613 return &v.unknownFields 1614 default: 1615 return nil 1616 } 1617 } 1618 file_google_dataflow_v1beta3_metrics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1619 switch v := v.(*StageSummary); i { 1620 case 0: 1621 return &v.state 1622 case 1: 1623 return &v.sizeCache 1624 case 2: 1625 return &v.unknownFields 1626 default: 1627 return nil 1628 } 1629 } 1630 file_google_dataflow_v1beta3_metrics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1631 switch v := v.(*JobExecutionDetails); i { 1632 case 0: 1633 return &v.state 1634 case 1: 1635 return &v.sizeCache 1636 case 2: 1637 return &v.unknownFields 1638 default: 1639 return nil 1640 } 1641 } 1642 file_google_dataflow_v1beta3_metrics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1643 switch v := v.(*GetStageExecutionDetailsRequest); i { 1644 case 0: 1645 return &v.state 1646 case 1: 1647 return &v.sizeCache 1648 case 2: 1649 return &v.unknownFields 1650 default: 1651 return nil 1652 } 1653 } 1654 file_google_dataflow_v1beta3_metrics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1655 switch v := v.(*WorkItemDetails); i { 1656 case 0: 1657 return &v.state 1658 case 1: 1659 return &v.sizeCache 1660 case 2: 1661 return &v.unknownFields 1662 default: 1663 return nil 1664 } 1665 } 1666 file_google_dataflow_v1beta3_metrics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1667 switch v := v.(*WorkerDetails); i { 1668 case 0: 1669 return &v.state 1670 case 1: 1671 return &v.sizeCache 1672 case 2: 1673 return &v.unknownFields 1674 default: 1675 return nil 1676 } 1677 } 1678 file_google_dataflow_v1beta3_metrics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1679 switch v := v.(*StageExecutionDetails); i { 1680 case 0: 1681 return &v.state 1682 case 1: 1683 return &v.sizeCache 1684 case 2: 1685 return &v.unknownFields 1686 default: 1687 return nil 1688 } 1689 } 1690 file_google_dataflow_v1beta3_metrics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1691 switch v := v.(*ProgressTimeseries_Point); i { 1692 case 0: 1693 return &v.state 1694 case 1: 1695 return &v.sizeCache 1696 case 2: 1697 return &v.unknownFields 1698 default: 1699 return nil 1700 } 1701 } 1702 } 1703 type x struct{} 1704 out := protoimpl.TypeBuilder{ 1705 File: protoimpl.DescBuilder{ 1706 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1707 RawDescriptor: file_google_dataflow_v1beta3_metrics_proto_rawDesc, 1708 NumEnums: 1, 1709 NumMessages: 14, 1710 NumExtensions: 0, 1711 NumServices: 1, 1712 }, 1713 GoTypes: file_google_dataflow_v1beta3_metrics_proto_goTypes, 1714 DependencyIndexes: file_google_dataflow_v1beta3_metrics_proto_depIdxs, 1715 EnumInfos: file_google_dataflow_v1beta3_metrics_proto_enumTypes, 1716 MessageInfos: file_google_dataflow_v1beta3_metrics_proto_msgTypes, 1717 }.Build() 1718 File_google_dataflow_v1beta3_metrics_proto = out.File 1719 file_google_dataflow_v1beta3_metrics_proto_rawDesc = nil 1720 file_google_dataflow_v1beta3_metrics_proto_goTypes = nil 1721 file_google_dataflow_v1beta3_metrics_proto_depIdxs = nil 1722} 1723 1724// Reference imports to suppress errors if they are not otherwise used. 1725var _ context.Context 1726var _ grpc.ClientConnInterface 1727 1728// This is a compile-time assertion to ensure that this generated file 1729// is compatible with the grpc package it is being compiled against. 1730const _ = grpc.SupportPackageIsVersion6 1731 1732// MetricsV1Beta3Client is the client API for MetricsV1Beta3 service. 1733// 1734// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 1735type MetricsV1Beta3Client interface { 1736 // Request the job status. 1737 // 1738 // To request the status of a job, we recommend using 1739 // `projects.locations.jobs.getMetrics` with a [regional endpoint] 1740 // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using 1741 // `projects.jobs.getMetrics` is not recommended, as you can only request the 1742 // status of jobs that are running in `us-central1`. 1743 GetJobMetrics(ctx context.Context, in *GetJobMetricsRequest, opts ...grpc.CallOption) (*JobMetrics, error) 1744 // Request detailed information about the execution status of the job. 1745 // 1746 // EXPERIMENTAL. This API is subject to change or removal without notice. 1747 GetJobExecutionDetails(ctx context.Context, in *GetJobExecutionDetailsRequest, opts ...grpc.CallOption) (*JobExecutionDetails, error) 1748 // Request detailed information about the execution status of a stage of the 1749 // job. 1750 // 1751 // EXPERIMENTAL. This API is subject to change or removal without notice. 1752 GetStageExecutionDetails(ctx context.Context, in *GetStageExecutionDetailsRequest, opts ...grpc.CallOption) (*StageExecutionDetails, error) 1753} 1754 1755type metricsV1Beta3Client struct { 1756 cc grpc.ClientConnInterface 1757} 1758 1759func NewMetricsV1Beta3Client(cc grpc.ClientConnInterface) MetricsV1Beta3Client { 1760 return &metricsV1Beta3Client{cc} 1761} 1762 1763func (c *metricsV1Beta3Client) GetJobMetrics(ctx context.Context, in *GetJobMetricsRequest, opts ...grpc.CallOption) (*JobMetrics, error) { 1764 out := new(JobMetrics) 1765 err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.MetricsV1Beta3/GetJobMetrics", in, out, opts...) 1766 if err != nil { 1767 return nil, err 1768 } 1769 return out, nil 1770} 1771 1772func (c *metricsV1Beta3Client) GetJobExecutionDetails(ctx context.Context, in *GetJobExecutionDetailsRequest, opts ...grpc.CallOption) (*JobExecutionDetails, error) { 1773 out := new(JobExecutionDetails) 1774 err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.MetricsV1Beta3/GetJobExecutionDetails", in, out, opts...) 1775 if err != nil { 1776 return nil, err 1777 } 1778 return out, nil 1779} 1780 1781func (c *metricsV1Beta3Client) GetStageExecutionDetails(ctx context.Context, in *GetStageExecutionDetailsRequest, opts ...grpc.CallOption) (*StageExecutionDetails, error) { 1782 out := new(StageExecutionDetails) 1783 err := c.cc.Invoke(ctx, "/google.dataflow.v1beta3.MetricsV1Beta3/GetStageExecutionDetails", in, out, opts...) 1784 if err != nil { 1785 return nil, err 1786 } 1787 return out, nil 1788} 1789 1790// MetricsV1Beta3Server is the server API for MetricsV1Beta3 service. 1791type MetricsV1Beta3Server interface { 1792 // Request the job status. 1793 // 1794 // To request the status of a job, we recommend using 1795 // `projects.locations.jobs.getMetrics` with a [regional endpoint] 1796 // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using 1797 // `projects.jobs.getMetrics` is not recommended, as you can only request the 1798 // status of jobs that are running in `us-central1`. 1799 GetJobMetrics(context.Context, *GetJobMetricsRequest) (*JobMetrics, error) 1800 // Request detailed information about the execution status of the job. 1801 // 1802 // EXPERIMENTAL. This API is subject to change or removal without notice. 1803 GetJobExecutionDetails(context.Context, *GetJobExecutionDetailsRequest) (*JobExecutionDetails, error) 1804 // Request detailed information about the execution status of a stage of the 1805 // job. 1806 // 1807 // EXPERIMENTAL. This API is subject to change or removal without notice. 1808 GetStageExecutionDetails(context.Context, *GetStageExecutionDetailsRequest) (*StageExecutionDetails, error) 1809} 1810 1811// UnimplementedMetricsV1Beta3Server can be embedded to have forward compatible implementations. 1812type UnimplementedMetricsV1Beta3Server struct { 1813} 1814 1815func (*UnimplementedMetricsV1Beta3Server) GetJobMetrics(context.Context, *GetJobMetricsRequest) (*JobMetrics, error) { 1816 return nil, status.Errorf(codes.Unimplemented, "method GetJobMetrics not implemented") 1817} 1818func (*UnimplementedMetricsV1Beta3Server) GetJobExecutionDetails(context.Context, *GetJobExecutionDetailsRequest) (*JobExecutionDetails, error) { 1819 return nil, status.Errorf(codes.Unimplemented, "method GetJobExecutionDetails not implemented") 1820} 1821func (*UnimplementedMetricsV1Beta3Server) GetStageExecutionDetails(context.Context, *GetStageExecutionDetailsRequest) (*StageExecutionDetails, error) { 1822 return nil, status.Errorf(codes.Unimplemented, "method GetStageExecutionDetails not implemented") 1823} 1824 1825func RegisterMetricsV1Beta3Server(s *grpc.Server, srv MetricsV1Beta3Server) { 1826 s.RegisterService(&_MetricsV1Beta3_serviceDesc, srv) 1827} 1828 1829func _MetricsV1Beta3_GetJobMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1830 in := new(GetJobMetricsRequest) 1831 if err := dec(in); err != nil { 1832 return nil, err 1833 } 1834 if interceptor == nil { 1835 return srv.(MetricsV1Beta3Server).GetJobMetrics(ctx, in) 1836 } 1837 info := &grpc.UnaryServerInfo{ 1838 Server: srv, 1839 FullMethod: "/google.dataflow.v1beta3.MetricsV1Beta3/GetJobMetrics", 1840 } 1841 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1842 return srv.(MetricsV1Beta3Server).GetJobMetrics(ctx, req.(*GetJobMetricsRequest)) 1843 } 1844 return interceptor(ctx, in, info, handler) 1845} 1846 1847func _MetricsV1Beta3_GetJobExecutionDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1848 in := new(GetJobExecutionDetailsRequest) 1849 if err := dec(in); err != nil { 1850 return nil, err 1851 } 1852 if interceptor == nil { 1853 return srv.(MetricsV1Beta3Server).GetJobExecutionDetails(ctx, in) 1854 } 1855 info := &grpc.UnaryServerInfo{ 1856 Server: srv, 1857 FullMethod: "/google.dataflow.v1beta3.MetricsV1Beta3/GetJobExecutionDetails", 1858 } 1859 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1860 return srv.(MetricsV1Beta3Server).GetJobExecutionDetails(ctx, req.(*GetJobExecutionDetailsRequest)) 1861 } 1862 return interceptor(ctx, in, info, handler) 1863} 1864 1865func _MetricsV1Beta3_GetStageExecutionDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1866 in := new(GetStageExecutionDetailsRequest) 1867 if err := dec(in); err != nil { 1868 return nil, err 1869 } 1870 if interceptor == nil { 1871 return srv.(MetricsV1Beta3Server).GetStageExecutionDetails(ctx, in) 1872 } 1873 info := &grpc.UnaryServerInfo{ 1874 Server: srv, 1875 FullMethod: "/google.dataflow.v1beta3.MetricsV1Beta3/GetStageExecutionDetails", 1876 } 1877 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1878 return srv.(MetricsV1Beta3Server).GetStageExecutionDetails(ctx, req.(*GetStageExecutionDetailsRequest)) 1879 } 1880 return interceptor(ctx, in, info, handler) 1881} 1882 1883var _MetricsV1Beta3_serviceDesc = grpc.ServiceDesc{ 1884 ServiceName: "google.dataflow.v1beta3.MetricsV1Beta3", 1885 HandlerType: (*MetricsV1Beta3Server)(nil), 1886 Methods: []grpc.MethodDesc{ 1887 { 1888 MethodName: "GetJobMetrics", 1889 Handler: _MetricsV1Beta3_GetJobMetrics_Handler, 1890 }, 1891 { 1892 MethodName: "GetJobExecutionDetails", 1893 Handler: _MetricsV1Beta3_GetJobExecutionDetails_Handler, 1894 }, 1895 { 1896 MethodName: "GetStageExecutionDetails", 1897 Handler: _MetricsV1Beta3_GetStageExecutionDetails_Handler, 1898 }, 1899 }, 1900 Streams: []grpc.StreamDesc{}, 1901 Metadata: "google/dataflow/v1beta3/metrics.proto", 1902} 1903