xref: /aosp_15_r20/external/googleapis/google/dataflow/v1beta3/metrics.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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