• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2023 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18package android.federatedcompute;
19
20option java_outer_classname = "FederatedComputeProtoEnums";
21option java_multiple_files = true;
22
23// Enum used to track federated computation job stages.
24// Next Tag: 53
25enum TrainingEventKind {
26  // Undefined value.
27  TRAIN_UNDEFINED = 0;
28
29  // Indicates that training was scheduled but did not start due to runtime
30  // checks (e.g. insufficient battery levels).
31  TRAIN_NOT_STARTED = 1;
32
33  // Client started downloading train phase info from the server
34  TRAIN_DOWNLOAD_STARTED = 2;
35
36  // Client is about to issue an eligibility eval checkin request to the
37  // server.
38  TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED = 3;
39
40  // Client received eligibility eval plan & checkpoint URIs from the server,
41  // but hasn't downloaded them yet. Also logged when the plan/checkpoint
42  // resources were actually supplied inline in the protocol response message
43  // and no actual HTTP fetch needs to happen anymore. This ensures that this
44  // event can always be compared against
45  // TRAIN_ELIGIBILITY_EVAL_PLAN_RECEIVED.
46  // Always preceded by TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED.
47  TRAIN_ELIGIBILITY_EVAL_PLAN_URI_RECEIVED = 4;
48
49  // Client received an eligibility eval plan from the server.
50  // Always preceded by TRAIN_ELIGIBILITY_EVAL_PLAN_URI_RECEIVED.
51  TRAIN_ELIGIBILITY_EVAL_PLAN_RECEIVED = 5;
52
53  // Client was told by the server that there is no eligibility eval plan for
54  // the given population.
55  // Always preceded by TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED.
56  TRAIN_ELIGIBILITY_EVAL_NOT_CONFIGURED = 6;
57
58  // Client was rejected from an eligibility eval checkin request.
59  // Always preceded by TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED.
60  TRAIN_ELIGIBILITY_EVAL_TURNED_AWAY = 7;
61
62  // Client issued an eligibility eval checkin request, but an IO error was
63  // encountered.
64  // Always preceded by TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED.
65  TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_ERROR_IO = 8;
66
67  // Client issued an eligibility eval checkin request, but an invalid payload
68  // was received.
69  // Always preceded by TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED.
70  TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_ERROR_INVALID_PAYLOAD = 9;
71
72  // Client issued an eligibility eval checkin request, but got interrupted on
73  // the client. Always preceded by TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED.
74  TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_CLIENT_INTERRUPTED = 10;
75
76  // Client issued an eligibility eval checkin request, but server aborted.
77  // Always preceded by TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_STARTED.
78  TRAIN_ELIGIBILITY_EVAL_DOWNLOAD_SERVER_ABORTED = 11;
79
80  // Client issued a regular checkin request, but got an IO error.
81  // Always preceded by TRAIN_DOWNLOAD_STARTED.
82  TRAIN_DOWNLOAD_ERROR_IO = 12;
83
84  // Client issued a regular checkin request, but the server returned an
85  // invalid payload.
86  // Always preceded by TRAIN_DOWNLOAD_STARTED.
87  TRAIN_DOWNLOAD_ERROR_INVALID_PAYLOAD = 13;
88
89  // Client issued a regular checin request, but got interrupted on the
90  // client. Always preceded by TRAIN_DOWNLOAD_STARTED.
91  TRAIN_DOWNLOAD_CLIENT_INTERRUPTED = 14;
92
93  // Client issued a regular checin request, but got aborted by the server.
94  // Always preceded by TRAIN_DOWNLOAD_STARTED.
95  TRAIN_DOWNLOAD_SERVER_ABORTED = 15;
96
97  // Client received plan and checkpoint URIs from the server, but hasn't
98  // actually downloaded them yet. Also logged when the plan/checkpoint
99  // resources were actually supplied inline in the protocol response message
100  // and no actual HTTP fetch needs to happen anymore. This ensures that this
101  // event can always be compared against TRAIN_DOWNLOAD_PLAN_RECEIVED.
102  // Always preceded by TRAIN_DOWNLOAD_STARTED.
103  TRAIN_DOWNLOAD_PLAN_URI_RECEIVED = 16;
104
105  // Client received a plan from the server.
106  // Always preceded by TRAIN_DOWNLOADED_PLAN_URI_RECEIVED.
107  TRAIN_DOWNLOAD_PLAN_RECEIVED = 17;
108
109  // Client was rejected from a checkin request.
110  // Always preceded by TRAIN_DOWNLOAD_STARTED.
111  TRAIN_DOWNLOAD_TURNED_AWAY = 18;
112
113  // Client started eligibility eval computation.
114  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_STARTED = 19;
115
116  // Client encountered a TensorFlow error during eligibility eval task
117  // computation.
118  // Always preceded by TRAIN_ELIGIBILITY_EVAL_COMPUTATION_STARTED.
119  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_ERROR_TENSORFLOW = 20;
120
121  // Reading from disk failed during eligibility eval task computation.
122  // Always preceded by TRAIN_ELIGIBILITY_EVAL_COMPUTATION_STARTED.
123  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_ERROR_IO = 21;
124
125  // Input parameters are invalid for eligibility eval task computation.
126  // Always preceded by TRAIN_ELIGIBILITY_EVAL_COMPUTATION_STARTED.
127  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_ERROR_INVALID_ARGUMENT = 22;
128
129  // Client encountered an example selector error during eligibility eval task
130  // computation.
131  // Always preceded by TRAIN_ELIGIBILITY_EVAL_COMPUTATION_STARTED.
132  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_ERROR_EXAMPLE_ITERATOR = 23;
133
134  // Eligibility eval computation was interrupted by the client.
135  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_CLIENT_INTERRUPTED = 24;
136
137  // Client finished eligibility eval computation.
138  // Always preceded by TRAIN_ELIGIBILITY_EVAL_COMPUTATION_STARTED.
139  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_COMPLETED = 25;
140
141  // Client finished eligibility eval computation and result is eligible.
142  // Always preceded by TRAIN_ELIGIBILITY_EVAL_COMPUTATION_STARTED.
143  TRAIN_ELIGIBILITY_EVAL_COMPUTATION_ELIGIBLE = 51;
144
145  // Client started computation.
146  TRAIN_COMPUTATION_STARTED = 26;
147
148  // A TensorFlow error was encountered during computation, or the output from
149  // the computation was missing or of an unexpected type. Always preceded by
150  // TRAIN_COMPUTATION_STARTED.
151  TRAIN_COMPUTATION_ERROR_TENSORFLOW = 27;
152
153  // Reading from disk failed during computation.
154  // Always preceded by TRAIN_COMPUTATION_STARTED.
155  TRAIN_COMPUTATION_ERROR_IO = 28;
156
157  // Input parameters are invalid for the given computation.
158  // Always preceded by TRAIN_COMPUTATION_STARTED.
159  TRAIN_COMPUTATION_ERROR_INVALID_ARGUMENT = 29;
160
161  // An error occurred when processing the example selector.
162  // Always preceded by TRAIN_COMPUTATION_STARTED.
163  TRAIN_COMPUTATION_ERROR_EXAMPLE_ITERATOR = 30;
164
165  // Client got interrupted during computation.
166  // Always preceded by TRAIN_COMPUTATION_STARTED.
167  TRAIN_COMPUTATION_CLIENT_INTERRUPTED = 31;
168
169  // Client finished computation.
170  // Always preceded by TRAIN_COMPUTATION_STARTED.
171  TRAIN_COMPUTATION_COMPLETED = 32;
172
173  // Client report result to server successfully
174  TRAIN_RESULT_REPORT_SUCCESS = 50;
175
176  // Client starts to upload successfully computed results.
177  TRAIN_RESULT_UPLOAD_STARTED = 33;
178
179  // An error occurred during upload.
180  // Always preceded by TRAIN_RESULT_UPLOAD_STARTED.
181  TRAIN_RESULT_UPLOAD_ERROR_IO = 34;
182
183  // Upload was interrupted by the client.
184  // Always preceded by TRAIN_RESULT_UPLOAD_STARTED.
185  TRAIN_RESULT_UPLOAD_CLIENT_INTERRUPTED = 35;
186
187  // Upload was aborted by the server.
188  // Always preceded by TRAIN_RESULT_UPLOAD_STARTED.
189  TRAIN_RESULT_UPLOAD_SERVER_ABORTED = 36;
190
191  // Client uploaded training results to the server
192  // Always preceded by TRAIN_RESULT_UPLOAD_STARTED.
193  TRAIN_RESULT_UPLOADED = 37;
194
195  // Client starts to upload failure report.
196  TRAIN_FAILURE_UPLOAD_STARTED = 38;
197
198  // An error occurred during upload.
199  // Always preceded by TRAIN_FAILURE_UPLOAD_STARTED.
200  TRAIN_FAILURE_UPLOAD_ERROR_IO = 39;
201
202  // Upload was interrupted.
203  // Always preceded by TRAIN_FAILURE_UPLOAD_STARTED.
204  TRAIN_FAILURE_UPLOAD_CLIENT_INTERRUPTED = 40;
205
206  // Upload was interrupted.
207  // Always preceded by TRAIN_FAILURE_UPLOAD_STARTED.
208  TRAIN_FAILURE_UPLOAD_SERVER_ABORTED = 41;
209
210  // Client uploaded failure report to the server
211  // Always preceded by TRAIN_FAILURE_UPLOAD_STARTED.
212  TRAIN_FAILURE_UPLOADED = 42;
213
214  // Client failed to initialize a component, but execution was not halted.
215  TRAIN_INITIALIZATION_ERROR_NONFATAL = 43;
216
217  // Client failed to initialize a component, and execution was halted.
218  TRAIN_INITIALIZATION_ERROR_FATAL = 44;
219
220  // Client receives http status = 403 UNAUTHORIZED when creating task assignment.
221  TRAIN_TASK_ASSIGNMENT_UNAUTHORIZED= 45;
222
223  // Client is authorized to create task assignment.
224  TRAIN_TASK_ASSIGNMENT_AUTH_SUCCEEDED = 46;
225
226  // Client receives http status = 403 UNAUTHORIZED when reporting result.
227  TRAIN_REPORT_RESULT_UNAUTHORIZED= 47;
228
229  // Client is authorized to report result.
230  TRAIN_INITIATE_REPORT_RESULT_AUTH_SUCCEEDED = 48;
231
232  // Client successfully generates an attestation record.
233  TRAIN_KEY_ATTESTATION_SUCCEEDED = 49;
234
235  // Client successfully finishes one round of training.
236  TRAIN_RUN_COMPLETE = 52;
237}
238