1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.dataflow.v1beta3; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Worker 24*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dataflow.V1Beta3"; 25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataflow/apiv1beta3/dataflowpb;dataflowpb"; 26*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 27*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "MetricsProto"; 28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.dataflow.v1beta3"; 29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Dataflow\\V1beta3"; 30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Dataflow::V1beta3"; 31*d5c09012SAndroid Build Coastguard Worker 32*d5c09012SAndroid Build Coastguard Worker// The Dataflow Metrics API lets you monitor the progress of Dataflow 33*d5c09012SAndroid Build Coastguard Worker// jobs. 34*d5c09012SAndroid Build Coastguard Workerservice MetricsV1Beta3 { 35*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dataflow.googleapis.com"; 36*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 37*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 38*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute," 39*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute.readonly," 40*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/userinfo.email"; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // Request the job status. 43*d5c09012SAndroid Build Coastguard Worker // 44*d5c09012SAndroid Build Coastguard Worker // To request the status of a job, we recommend using 45*d5c09012SAndroid Build Coastguard Worker // `projects.locations.jobs.getMetrics` with a [regional endpoint] 46*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using 47*d5c09012SAndroid Build Coastguard Worker // `projects.jobs.getMetrics` is not recommended, as you can only request the 48*d5c09012SAndroid Build Coastguard Worker // status of jobs that are running in `us-central1`. 49*d5c09012SAndroid Build Coastguard Worker rpc GetJobMetrics(GetJobMetricsRequest) returns (JobMetrics) { 50*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 51*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/locations/{location}/jobs/{job_id}/metrics" 52*d5c09012SAndroid Build Coastguard Worker additional_bindings { 53*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/jobs/{job_id}/metrics" 54*d5c09012SAndroid Build Coastguard Worker } 55*d5c09012SAndroid Build Coastguard Worker }; 56*d5c09012SAndroid Build Coastguard Worker } 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // Request detailed information about the execution status of the job. 59*d5c09012SAndroid Build Coastguard Worker // 60*d5c09012SAndroid Build Coastguard Worker // EXPERIMENTAL. This API is subject to change or removal without notice. 61*d5c09012SAndroid Build Coastguard Worker rpc GetJobExecutionDetails(GetJobExecutionDetailsRequest) returns (JobExecutionDetails) { 62*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 63*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/locations/{location}/jobs/{job_id}/executionDetails" 64*d5c09012SAndroid Build Coastguard Worker }; 65*d5c09012SAndroid Build Coastguard Worker } 66*d5c09012SAndroid Build Coastguard Worker 67*d5c09012SAndroid Build Coastguard Worker // Request detailed information about the execution status of a stage of the 68*d5c09012SAndroid Build Coastguard Worker // job. 69*d5c09012SAndroid Build Coastguard Worker // 70*d5c09012SAndroid Build Coastguard Worker // EXPERIMENTAL. This API is subject to change or removal without notice. 71*d5c09012SAndroid Build Coastguard Worker rpc GetStageExecutionDetails(GetStageExecutionDetailsRequest) returns (StageExecutionDetails) { 72*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 73*d5c09012SAndroid Build Coastguard Worker get: "/v1b3/projects/{project_id}/locations/{location}/jobs/{job_id}/stages/{stage_id}/executionDetails" 74*d5c09012SAndroid Build Coastguard Worker }; 75*d5c09012SAndroid Build Coastguard Worker } 76*d5c09012SAndroid Build Coastguard Worker} 77*d5c09012SAndroid Build Coastguard Worker 78*d5c09012SAndroid Build Coastguard Worker// Identifies a metric, by describing the source which generated the 79*d5c09012SAndroid Build Coastguard Worker// metric. 80*d5c09012SAndroid Build Coastguard Workermessage MetricStructuredName { 81*d5c09012SAndroid Build Coastguard Worker // Origin (namespace) of metric name. May be blank for user-define metrics; 82*d5c09012SAndroid Build Coastguard Worker // will be "dataflow" for metrics defined by the Dataflow service or SDK. 83*d5c09012SAndroid Build Coastguard Worker string origin = 1; 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Worker-defined metric name. 86*d5c09012SAndroid Build Coastguard Worker string name = 2; 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // Zero or more labeled fields which identify the part of the job this 89*d5c09012SAndroid Build Coastguard Worker // metric is associated with, such as the name of a step or collection. 90*d5c09012SAndroid Build Coastguard Worker // 91*d5c09012SAndroid Build Coastguard Worker // For example, built-in counters associated with steps will have 92*d5c09012SAndroid Build Coastguard Worker // context['step'] = <step-name>. Counters associated with PCollections 93*d5c09012SAndroid Build Coastguard Worker // in the SDK will have context['pcollection'] = <pcollection-name>. 94*d5c09012SAndroid Build Coastguard Worker map<string, string> context = 3; 95*d5c09012SAndroid Build Coastguard Worker} 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker// Describes the state of a metric. 98*d5c09012SAndroid Build Coastguard Workermessage MetricUpdate { 99*d5c09012SAndroid Build Coastguard Worker // Name of the metric. 100*d5c09012SAndroid Build Coastguard Worker MetricStructuredName name = 1; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // Metric aggregation kind. The possible metric aggregation kinds are 103*d5c09012SAndroid Build Coastguard Worker // "Sum", "Max", "Min", "Mean", "Set", "And", "Or", and "Distribution". 104*d5c09012SAndroid Build Coastguard Worker // The specified aggregation kind is case-insensitive. 105*d5c09012SAndroid Build Coastguard Worker // 106*d5c09012SAndroid Build Coastguard Worker // If omitted, this is not an aggregated value but instead 107*d5c09012SAndroid Build Coastguard Worker // a single metric sample value. 108*d5c09012SAndroid Build Coastguard Worker string kind = 2; 109*d5c09012SAndroid Build Coastguard Worker 110*d5c09012SAndroid Build Coastguard Worker // True if this metric is reported as the total cumulative aggregate 111*d5c09012SAndroid Build Coastguard Worker // value accumulated since the worker started working on this WorkItem. 112*d5c09012SAndroid Build Coastguard Worker // By default this is false, indicating that this metric is reported 113*d5c09012SAndroid Build Coastguard Worker // as a delta that is not associated with any WorkItem. 114*d5c09012SAndroid Build Coastguard Worker bool cumulative = 3; 115*d5c09012SAndroid Build Coastguard Worker 116*d5c09012SAndroid Build Coastguard Worker // Worker-computed aggregate value for aggregation kinds "Sum", "Max", "Min", 117*d5c09012SAndroid Build Coastguard Worker // "And", and "Or". The possible value types are Long, Double, and Boolean. 118*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value scalar = 4; 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // Worker-computed aggregate value for the "Mean" aggregation kind. 121*d5c09012SAndroid Build Coastguard Worker // This holds the sum of the aggregated values and is used in combination 122*d5c09012SAndroid Build Coastguard Worker // with mean_count below to obtain the actual mean aggregate value. 123*d5c09012SAndroid Build Coastguard Worker // The only possible value types are Long and Double. 124*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value mean_sum = 5; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Worker-computed aggregate value for the "Mean" aggregation kind. 127*d5c09012SAndroid Build Coastguard Worker // This holds the count of the aggregated values and is used in combination 128*d5c09012SAndroid Build Coastguard Worker // with mean_sum above to obtain the actual mean aggregate value. 129*d5c09012SAndroid Build Coastguard Worker // The only possible value type is Long. 130*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value mean_count = 6; 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker // Worker-computed aggregate value for the "Set" aggregation kind. The only 133*d5c09012SAndroid Build Coastguard Worker // possible value type is a list of Values whose type can be Long, Double, 134*d5c09012SAndroid Build Coastguard Worker // or String, according to the metric's type. All Values in the list must 135*d5c09012SAndroid Build Coastguard Worker // be of the same type. 136*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value set = 7; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // A struct value describing properties of a distribution of numeric values. 139*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value distribution = 11; 140*d5c09012SAndroid Build Coastguard Worker 141*d5c09012SAndroid Build Coastguard Worker // A struct value describing properties of a Gauge. 142*d5c09012SAndroid Build Coastguard Worker // Metrics of gauge type show the value of a metric across time, and is 143*d5c09012SAndroid Build Coastguard Worker // aggregated based on the newest value. 144*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value gauge = 12; 145*d5c09012SAndroid Build Coastguard Worker 146*d5c09012SAndroid Build Coastguard Worker // Worker-computed aggregate value for internal use by the Dataflow 147*d5c09012SAndroid Build Coastguard Worker // service. 148*d5c09012SAndroid Build Coastguard Worker google.protobuf.Value internal = 8; 149*d5c09012SAndroid Build Coastguard Worker 150*d5c09012SAndroid Build Coastguard Worker // Timestamp associated with the metric value. Optional when workers are 151*d5c09012SAndroid Build Coastguard Worker // reporting work progress; it will be filled in responses from the 152*d5c09012SAndroid Build Coastguard Worker // metrics API. 153*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 9; 154*d5c09012SAndroid Build Coastguard Worker} 155*d5c09012SAndroid Build Coastguard Worker 156*d5c09012SAndroid Build Coastguard Worker// Request to get job metrics. 157*d5c09012SAndroid Build Coastguard Workermessage GetJobMetricsRequest { 158*d5c09012SAndroid Build Coastguard Worker // A project id. 159*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 160*d5c09012SAndroid Build Coastguard Worker 161*d5c09012SAndroid Build Coastguard Worker // The job to get metrics for. 162*d5c09012SAndroid Build Coastguard Worker string job_id = 2; 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker // Return only metric data that has changed since this time. 165*d5c09012SAndroid Build Coastguard Worker // Default is to return all information about all metrics for the job. 166*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 3; 167*d5c09012SAndroid Build Coastguard Worker 168*d5c09012SAndroid Build Coastguard Worker // The [regional endpoint] 169*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that 170*d5c09012SAndroid Build Coastguard Worker // contains the job specified by job_id. 171*d5c09012SAndroid Build Coastguard Worker string location = 4; 172*d5c09012SAndroid Build Coastguard Worker} 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker// JobMetrics contains a collection of metrics describing the detailed progress 175*d5c09012SAndroid Build Coastguard Worker// of a Dataflow job. Metrics correspond to user-defined and system-defined 176*d5c09012SAndroid Build Coastguard Worker// metrics in the job. 177*d5c09012SAndroid Build Coastguard Worker// 178*d5c09012SAndroid Build Coastguard Worker// This resource captures only the most recent values of each metric; 179*d5c09012SAndroid Build Coastguard Worker// time-series data can be queried for them (under the same metric names) 180*d5c09012SAndroid Build Coastguard Worker// from Cloud Monitoring. 181*d5c09012SAndroid Build Coastguard Workermessage JobMetrics { 182*d5c09012SAndroid Build Coastguard Worker // Timestamp as of which metric values are current. 183*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp metric_time = 1; 184*d5c09012SAndroid Build Coastguard Worker 185*d5c09012SAndroid Build Coastguard Worker // All metrics for this job. 186*d5c09012SAndroid Build Coastguard Worker repeated MetricUpdate metrics = 2; 187*d5c09012SAndroid Build Coastguard Worker} 188*d5c09012SAndroid Build Coastguard Worker 189*d5c09012SAndroid Build Coastguard Worker// Request to get job execution details. 190*d5c09012SAndroid Build Coastguard Workermessage GetJobExecutionDetailsRequest { 191*d5c09012SAndroid Build Coastguard Worker // A project id. 192*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 193*d5c09012SAndroid Build Coastguard Worker 194*d5c09012SAndroid Build Coastguard Worker // The job to get execution details for. 195*d5c09012SAndroid Build Coastguard Worker string job_id = 2; 196*d5c09012SAndroid Build Coastguard Worker 197*d5c09012SAndroid Build Coastguard Worker // The [regional endpoint] 198*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that 199*d5c09012SAndroid Build Coastguard Worker // contains the job specified by job_id. 200*d5c09012SAndroid Build Coastguard Worker string location = 3; 201*d5c09012SAndroid Build Coastguard Worker 202*d5c09012SAndroid Build Coastguard Worker // If specified, determines the maximum number of stages to 203*d5c09012SAndroid Build Coastguard Worker // return. If unspecified, the service may choose an appropriate 204*d5c09012SAndroid Build Coastguard Worker // default, or may return an arbitrarily large number of results. 205*d5c09012SAndroid Build Coastguard Worker int32 page_size = 4; 206*d5c09012SAndroid Build Coastguard Worker 207*d5c09012SAndroid Build Coastguard Worker // If supplied, this should be the value of next_page_token returned 208*d5c09012SAndroid Build Coastguard Worker // by an earlier call. This will cause the next page of results to 209*d5c09012SAndroid Build Coastguard Worker // be returned. 210*d5c09012SAndroid Build Coastguard Worker string page_token = 5; 211*d5c09012SAndroid Build Coastguard Worker} 212*d5c09012SAndroid Build Coastguard Worker 213*d5c09012SAndroid Build Coastguard Worker// Information about the progress of some component of job execution. 214*d5c09012SAndroid Build Coastguard Workermessage ProgressTimeseries { 215*d5c09012SAndroid Build Coastguard Worker // A point in the timeseries. 216*d5c09012SAndroid Build Coastguard Worker message Point { 217*d5c09012SAndroid Build Coastguard Worker // The timestamp of the point. 218*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp time = 1; 219*d5c09012SAndroid Build Coastguard Worker 220*d5c09012SAndroid Build Coastguard Worker // The value of the point. 221*d5c09012SAndroid Build Coastguard Worker double value = 2; 222*d5c09012SAndroid Build Coastguard Worker } 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // The current progress of the component, in the range [0,1]. 225*d5c09012SAndroid Build Coastguard Worker double current_progress = 1; 226*d5c09012SAndroid Build Coastguard Worker 227*d5c09012SAndroid Build Coastguard Worker // History of progress for the component. 228*d5c09012SAndroid Build Coastguard Worker // 229*d5c09012SAndroid Build Coastguard Worker // Points are sorted by time. 230*d5c09012SAndroid Build Coastguard Worker repeated Point data_points = 2; 231*d5c09012SAndroid Build Coastguard Worker} 232*d5c09012SAndroid Build Coastguard Worker 233*d5c09012SAndroid Build Coastguard Worker// The state of some component of job execution. 234*d5c09012SAndroid Build Coastguard Workerenum ExecutionState { 235*d5c09012SAndroid Build Coastguard Worker // The component state is unknown or unspecified. 236*d5c09012SAndroid Build Coastguard Worker EXECUTION_STATE_UNKNOWN = 0; 237*d5c09012SAndroid Build Coastguard Worker 238*d5c09012SAndroid Build Coastguard Worker // The component is not yet running. 239*d5c09012SAndroid Build Coastguard Worker EXECUTION_STATE_NOT_STARTED = 1; 240*d5c09012SAndroid Build Coastguard Worker 241*d5c09012SAndroid Build Coastguard Worker // The component is currently running. 242*d5c09012SAndroid Build Coastguard Worker EXECUTION_STATE_RUNNING = 2; 243*d5c09012SAndroid Build Coastguard Worker 244*d5c09012SAndroid Build Coastguard Worker // The component succeeded. 245*d5c09012SAndroid Build Coastguard Worker EXECUTION_STATE_SUCCEEDED = 3; 246*d5c09012SAndroid Build Coastguard Worker 247*d5c09012SAndroid Build Coastguard Worker // The component failed. 248*d5c09012SAndroid Build Coastguard Worker EXECUTION_STATE_FAILED = 4; 249*d5c09012SAndroid Build Coastguard Worker 250*d5c09012SAndroid Build Coastguard Worker // Execution of the component was cancelled. 251*d5c09012SAndroid Build Coastguard Worker EXECUTION_STATE_CANCELLED = 5; 252*d5c09012SAndroid Build Coastguard Worker} 253*d5c09012SAndroid Build Coastguard Worker 254*d5c09012SAndroid Build Coastguard Worker// Information about a particular execution stage of a job. 255*d5c09012SAndroid Build Coastguard Workermessage StageSummary { 256*d5c09012SAndroid Build Coastguard Worker // ID of this stage 257*d5c09012SAndroid Build Coastguard Worker string stage_id = 1; 258*d5c09012SAndroid Build Coastguard Worker 259*d5c09012SAndroid Build Coastguard Worker // State of this stage. 260*d5c09012SAndroid Build Coastguard Worker ExecutionState state = 2; 261*d5c09012SAndroid Build Coastguard Worker 262*d5c09012SAndroid Build Coastguard Worker // Start time of this stage. 263*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 3; 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker // End time of this stage. 266*d5c09012SAndroid Build Coastguard Worker // 267*d5c09012SAndroid Build Coastguard Worker // If the work item is completed, this is the actual end time of the stage. 268*d5c09012SAndroid Build Coastguard Worker // Otherwise, it is the predicted end time. 269*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 4; 270*d5c09012SAndroid Build Coastguard Worker 271*d5c09012SAndroid Build Coastguard Worker // Progress for this stage. 272*d5c09012SAndroid Build Coastguard Worker // Only applicable to Batch jobs. 273*d5c09012SAndroid Build Coastguard Worker ProgressTimeseries progress = 5; 274*d5c09012SAndroid Build Coastguard Worker 275*d5c09012SAndroid Build Coastguard Worker // Metrics for this stage. 276*d5c09012SAndroid Build Coastguard Worker repeated MetricUpdate metrics = 6; 277*d5c09012SAndroid Build Coastguard Worker} 278*d5c09012SAndroid Build Coastguard Worker 279*d5c09012SAndroid Build Coastguard Worker// Information about the execution of a job. 280*d5c09012SAndroid Build Coastguard Workermessage JobExecutionDetails { 281*d5c09012SAndroid Build Coastguard Worker // The stages of the job execution. 282*d5c09012SAndroid Build Coastguard Worker repeated StageSummary stages = 1; 283*d5c09012SAndroid Build Coastguard Worker 284*d5c09012SAndroid Build Coastguard Worker // If present, this response does not contain all requested tasks. To obtain 285*d5c09012SAndroid Build Coastguard Worker // the next page of results, repeat the request with page_token set to this 286*d5c09012SAndroid Build Coastguard Worker // value. 287*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 288*d5c09012SAndroid Build Coastguard Worker} 289*d5c09012SAndroid Build Coastguard Worker 290*d5c09012SAndroid Build Coastguard Worker// Request to get information about a particular execution stage of a job. 291*d5c09012SAndroid Build Coastguard Worker// Currently only tracked for Batch jobs. 292*d5c09012SAndroid Build Coastguard Workermessage GetStageExecutionDetailsRequest { 293*d5c09012SAndroid Build Coastguard Worker // A project id. 294*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 295*d5c09012SAndroid Build Coastguard Worker 296*d5c09012SAndroid Build Coastguard Worker // The job to get execution details for. 297*d5c09012SAndroid Build Coastguard Worker string job_id = 2; 298*d5c09012SAndroid Build Coastguard Worker 299*d5c09012SAndroid Build Coastguard Worker // The [regional endpoint] 300*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that 301*d5c09012SAndroid Build Coastguard Worker // contains the job specified by job_id. 302*d5c09012SAndroid Build Coastguard Worker string location = 3; 303*d5c09012SAndroid Build Coastguard Worker 304*d5c09012SAndroid Build Coastguard Worker // The stage for which to fetch information. 305*d5c09012SAndroid Build Coastguard Worker string stage_id = 4; 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // If specified, determines the maximum number of work items to 308*d5c09012SAndroid Build Coastguard Worker // return. If unspecified, the service may choose an appropriate 309*d5c09012SAndroid Build Coastguard Worker // default, or may return an arbitrarily large number of results. 310*d5c09012SAndroid Build Coastguard Worker int32 page_size = 5; 311*d5c09012SAndroid Build Coastguard Worker 312*d5c09012SAndroid Build Coastguard Worker // If supplied, this should be the value of next_page_token returned 313*d5c09012SAndroid Build Coastguard Worker // by an earlier call. This will cause the next page of results to 314*d5c09012SAndroid Build Coastguard Worker // be returned. 315*d5c09012SAndroid Build Coastguard Worker string page_token = 6; 316*d5c09012SAndroid Build Coastguard Worker 317*d5c09012SAndroid Build Coastguard Worker // Lower time bound of work items to include, by start time. 318*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 7; 319*d5c09012SAndroid Build Coastguard Worker 320*d5c09012SAndroid Build Coastguard Worker // Upper time bound of work items to include, by start time. 321*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 8; 322*d5c09012SAndroid Build Coastguard Worker} 323*d5c09012SAndroid Build Coastguard Worker 324*d5c09012SAndroid Build Coastguard Worker// Information about an individual work item execution. 325*d5c09012SAndroid Build Coastguard Workermessage WorkItemDetails { 326*d5c09012SAndroid Build Coastguard Worker // Name of this work item. 327*d5c09012SAndroid Build Coastguard Worker string task_id = 1; 328*d5c09012SAndroid Build Coastguard Worker 329*d5c09012SAndroid Build Coastguard Worker // Attempt ID of this work item 330*d5c09012SAndroid Build Coastguard Worker string attempt_id = 2; 331*d5c09012SAndroid Build Coastguard Worker 332*d5c09012SAndroid Build Coastguard Worker // Start time of this work item attempt. 333*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 3; 334*d5c09012SAndroid Build Coastguard Worker 335*d5c09012SAndroid Build Coastguard Worker // End time of this work item attempt. 336*d5c09012SAndroid Build Coastguard Worker // 337*d5c09012SAndroid Build Coastguard Worker // If the work item is completed, this is the actual end time of the work 338*d5c09012SAndroid Build Coastguard Worker // item. Otherwise, it is the predicted end time. 339*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 4; 340*d5c09012SAndroid Build Coastguard Worker 341*d5c09012SAndroid Build Coastguard Worker // State of this work item. 342*d5c09012SAndroid Build Coastguard Worker ExecutionState state = 5; 343*d5c09012SAndroid Build Coastguard Worker 344*d5c09012SAndroid Build Coastguard Worker // Progress of this work item. 345*d5c09012SAndroid Build Coastguard Worker ProgressTimeseries progress = 6; 346*d5c09012SAndroid Build Coastguard Worker 347*d5c09012SAndroid Build Coastguard Worker // Metrics for this work item. 348*d5c09012SAndroid Build Coastguard Worker repeated MetricUpdate metrics = 7; 349*d5c09012SAndroid Build Coastguard Worker} 350*d5c09012SAndroid Build Coastguard Worker 351*d5c09012SAndroid Build Coastguard Worker// Information about a worker 352*d5c09012SAndroid Build Coastguard Workermessage WorkerDetails { 353*d5c09012SAndroid Build Coastguard Worker // Name of this worker 354*d5c09012SAndroid Build Coastguard Worker string worker_name = 1; 355*d5c09012SAndroid Build Coastguard Worker 356*d5c09012SAndroid Build Coastguard Worker // Work items processed by this worker, sorted by time. 357*d5c09012SAndroid Build Coastguard Worker repeated WorkItemDetails work_items = 2; 358*d5c09012SAndroid Build Coastguard Worker} 359*d5c09012SAndroid Build Coastguard Worker 360*d5c09012SAndroid Build Coastguard Worker// Information about the workers and work items within a stage. 361*d5c09012SAndroid Build Coastguard Workermessage StageExecutionDetails { 362*d5c09012SAndroid Build Coastguard Worker // Workers that have done work on the stage. 363*d5c09012SAndroid Build Coastguard Worker repeated WorkerDetails workers = 1; 364*d5c09012SAndroid Build Coastguard Worker 365*d5c09012SAndroid Build Coastguard Worker // If present, this response does not contain all requested tasks. To obtain 366*d5c09012SAndroid Build Coastguard Worker // the next page of results, repeat the request with page_token set to this 367*d5c09012SAndroid Build Coastguard Worker // value. 368*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 369*d5c09012SAndroid Build Coastguard Worker} 370