@flyteorg/flyteidl 1.3.13 → 1.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6375,6 +6375,97 @@ export namespace flyteidl {
6375
6375
  public static verify(message: { [k: string]: any }): (string|null);
6376
6376
  }
6377
6377
 
6378
+ /** Properties of a Span. */
6379
+ interface ISpan {
6380
+
6381
+ /** Span startTime */
6382
+ startTime?: (google.protobuf.ITimestamp|null);
6383
+
6384
+ /** Span endTime */
6385
+ endTime?: (google.protobuf.ITimestamp|null);
6386
+
6387
+ /** Span workflowId */
6388
+ workflowId?: (flyteidl.core.IWorkflowExecutionIdentifier|null);
6389
+
6390
+ /** Span nodeId */
6391
+ nodeId?: (flyteidl.core.INodeExecutionIdentifier|null);
6392
+
6393
+ /** Span taskId */
6394
+ taskId?: (flyteidl.core.ITaskExecutionIdentifier|null);
6395
+
6396
+ /** Span operationId */
6397
+ operationId?: (string|null);
6398
+
6399
+ /** Span spans */
6400
+ spans?: (flyteidl.core.ISpan[]|null);
6401
+ }
6402
+
6403
+ /** Represents a Span. */
6404
+ class Span implements ISpan {
6405
+
6406
+ /**
6407
+ * Constructs a new Span.
6408
+ * @param [properties] Properties to set
6409
+ */
6410
+ constructor(properties?: flyteidl.core.ISpan);
6411
+
6412
+ /** Span startTime. */
6413
+ public startTime?: (google.protobuf.ITimestamp|null);
6414
+
6415
+ /** Span endTime. */
6416
+ public endTime?: (google.protobuf.ITimestamp|null);
6417
+
6418
+ /** Span workflowId. */
6419
+ public workflowId?: (flyteidl.core.IWorkflowExecutionIdentifier|null);
6420
+
6421
+ /** Span nodeId. */
6422
+ public nodeId?: (flyteidl.core.INodeExecutionIdentifier|null);
6423
+
6424
+ /** Span taskId. */
6425
+ public taskId?: (flyteidl.core.ITaskExecutionIdentifier|null);
6426
+
6427
+ /** Span operationId. */
6428
+ public operationId: string;
6429
+
6430
+ /** Span spans. */
6431
+ public spans: flyteidl.core.ISpan[];
6432
+
6433
+ /** Span id. */
6434
+ public id?: ("workflowId"|"nodeId"|"taskId"|"operationId");
6435
+
6436
+ /**
6437
+ * Creates a new Span instance using the specified properties.
6438
+ * @param [properties] Properties to set
6439
+ * @returns Span instance
6440
+ */
6441
+ public static create(properties?: flyteidl.core.ISpan): flyteidl.core.Span;
6442
+
6443
+ /**
6444
+ * Encodes the specified Span message. Does not implicitly {@link flyteidl.core.Span.verify|verify} messages.
6445
+ * @param message Span message or plain object to encode
6446
+ * @param [writer] Writer to encode to
6447
+ * @returns Writer
6448
+ */
6449
+ public static encode(message: flyteidl.core.ISpan, writer?: $protobuf.Writer): $protobuf.Writer;
6450
+
6451
+ /**
6452
+ * Decodes a Span message from the specified reader or buffer.
6453
+ * @param reader Reader or buffer to decode from
6454
+ * @param [length] Message length if known beforehand
6455
+ * @returns Span
6456
+ * @throws {Error} If the payload is not a reader or valid buffer
6457
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
6458
+ */
6459
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.Span;
6460
+
6461
+ /**
6462
+ * Verifies a Span message.
6463
+ * @param message Plain object to verify
6464
+ * @returns `null` if valid, otherwise the reason why it is not
6465
+ */
6466
+ public static verify(message: { [k: string]: any }): (string|null);
6467
+ }
6468
+
6378
6469
  /** Properties of a WorkflowClosure. */
6379
6470
  interface IWorkflowClosure {
6380
6471
 
@@ -6590,6 +6681,9 @@ export namespace flyteidl {
6590
6681
 
6591
6682
  /** NodeExecutionEvent deckUri */
6592
6683
  deckUri?: (string|null);
6684
+
6685
+ /** NodeExecutionEvent reportedAt */
6686
+ reportedAt?: (google.protobuf.ITimestamp|null);
6593
6687
  }
6594
6688
 
6595
6689
  /** Represents a NodeExecutionEvent. */
@@ -6661,6 +6755,9 @@ export namespace flyteidl {
6661
6755
  /** NodeExecutionEvent deckUri. */
6662
6756
  public deckUri: string;
6663
6757
 
6758
+ /** NodeExecutionEvent reportedAt. */
6759
+ public reportedAt?: (google.protobuf.ITimestamp|null);
6760
+
6664
6761
  /** NodeExecutionEvent inputValue. */
6665
6762
  public inputValue?: ("inputUri"|"inputData");
6666
6763
 
@@ -7055,6 +7152,9 @@ export namespace flyteidl {
7055
7152
 
7056
7153
  /** TaskExecutionEvent eventVersion */
7057
7154
  eventVersion?: (number|null);
7155
+
7156
+ /** TaskExecutionEvent reportedAt */
7157
+ reportedAt?: (google.protobuf.ITimestamp|null);
7058
7158
  }
7059
7159
 
7060
7160
  /** Represents a TaskExecutionEvent. */
@@ -7120,6 +7220,9 @@ export namespace flyteidl {
7120
7220
  /** TaskExecutionEvent eventVersion. */
7121
7221
  public eventVersion: number;
7122
7222
 
7223
+ /** TaskExecutionEvent reportedAt. */
7224
+ public reportedAt?: (google.protobuf.ITimestamp|null);
7225
+
7123
7226
  /** TaskExecutionEvent inputValue. */
7124
7227
  public inputValue?: ("inputUri"|"inputData");
7125
7228
 
@@ -11035,6 +11138,116 @@ export namespace flyteidl {
11035
11138
  public static verify(message: { [k: string]: any }): (string|null);
11036
11139
  }
11037
11140
 
11141
+ /** Properties of a WorkflowExecutionGetMetricsRequest. */
11142
+ interface IWorkflowExecutionGetMetricsRequest {
11143
+
11144
+ /** WorkflowExecutionGetMetricsRequest id */
11145
+ id?: (flyteidl.core.IWorkflowExecutionIdentifier|null);
11146
+
11147
+ /** WorkflowExecutionGetMetricsRequest depth */
11148
+ depth?: (number|null);
11149
+ }
11150
+
11151
+ /** Represents a WorkflowExecutionGetMetricsRequest. */
11152
+ class WorkflowExecutionGetMetricsRequest implements IWorkflowExecutionGetMetricsRequest {
11153
+
11154
+ /**
11155
+ * Constructs a new WorkflowExecutionGetMetricsRequest.
11156
+ * @param [properties] Properties to set
11157
+ */
11158
+ constructor(properties?: flyteidl.admin.IWorkflowExecutionGetMetricsRequest);
11159
+
11160
+ /** WorkflowExecutionGetMetricsRequest id. */
11161
+ public id?: (flyteidl.core.IWorkflowExecutionIdentifier|null);
11162
+
11163
+ /** WorkflowExecutionGetMetricsRequest depth. */
11164
+ public depth: number;
11165
+
11166
+ /**
11167
+ * Creates a new WorkflowExecutionGetMetricsRequest instance using the specified properties.
11168
+ * @param [properties] Properties to set
11169
+ * @returns WorkflowExecutionGetMetricsRequest instance
11170
+ */
11171
+ public static create(properties?: flyteidl.admin.IWorkflowExecutionGetMetricsRequest): flyteidl.admin.WorkflowExecutionGetMetricsRequest;
11172
+
11173
+ /**
11174
+ * Encodes the specified WorkflowExecutionGetMetricsRequest message. Does not implicitly {@link flyteidl.admin.WorkflowExecutionGetMetricsRequest.verify|verify} messages.
11175
+ * @param message WorkflowExecutionGetMetricsRequest message or plain object to encode
11176
+ * @param [writer] Writer to encode to
11177
+ * @returns Writer
11178
+ */
11179
+ public static encode(message: flyteidl.admin.IWorkflowExecutionGetMetricsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
11180
+
11181
+ /**
11182
+ * Decodes a WorkflowExecutionGetMetricsRequest message from the specified reader or buffer.
11183
+ * @param reader Reader or buffer to decode from
11184
+ * @param [length] Message length if known beforehand
11185
+ * @returns WorkflowExecutionGetMetricsRequest
11186
+ * @throws {Error} If the payload is not a reader or valid buffer
11187
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
11188
+ */
11189
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.WorkflowExecutionGetMetricsRequest;
11190
+
11191
+ /**
11192
+ * Verifies a WorkflowExecutionGetMetricsRequest message.
11193
+ * @param message Plain object to verify
11194
+ * @returns `null` if valid, otherwise the reason why it is not
11195
+ */
11196
+ public static verify(message: { [k: string]: any }): (string|null);
11197
+ }
11198
+
11199
+ /** Properties of a WorkflowExecutionGetMetricsResponse. */
11200
+ interface IWorkflowExecutionGetMetricsResponse {
11201
+
11202
+ /** WorkflowExecutionGetMetricsResponse span */
11203
+ span?: (flyteidl.core.ISpan|null);
11204
+ }
11205
+
11206
+ /** Represents a WorkflowExecutionGetMetricsResponse. */
11207
+ class WorkflowExecutionGetMetricsResponse implements IWorkflowExecutionGetMetricsResponse {
11208
+
11209
+ /**
11210
+ * Constructs a new WorkflowExecutionGetMetricsResponse.
11211
+ * @param [properties] Properties to set
11212
+ */
11213
+ constructor(properties?: flyteidl.admin.IWorkflowExecutionGetMetricsResponse);
11214
+
11215
+ /** WorkflowExecutionGetMetricsResponse span. */
11216
+ public span?: (flyteidl.core.ISpan|null);
11217
+
11218
+ /**
11219
+ * Creates a new WorkflowExecutionGetMetricsResponse instance using the specified properties.
11220
+ * @param [properties] Properties to set
11221
+ * @returns WorkflowExecutionGetMetricsResponse instance
11222
+ */
11223
+ public static create(properties?: flyteidl.admin.IWorkflowExecutionGetMetricsResponse): flyteidl.admin.WorkflowExecutionGetMetricsResponse;
11224
+
11225
+ /**
11226
+ * Encodes the specified WorkflowExecutionGetMetricsResponse message. Does not implicitly {@link flyteidl.admin.WorkflowExecutionGetMetricsResponse.verify|verify} messages.
11227
+ * @param message WorkflowExecutionGetMetricsResponse message or plain object to encode
11228
+ * @param [writer] Writer to encode to
11229
+ * @returns Writer
11230
+ */
11231
+ public static encode(message: flyteidl.admin.IWorkflowExecutionGetMetricsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
11232
+
11233
+ /**
11234
+ * Decodes a WorkflowExecutionGetMetricsResponse message from the specified reader or buffer.
11235
+ * @param reader Reader or buffer to decode from
11236
+ * @param [length] Message length if known beforehand
11237
+ * @returns WorkflowExecutionGetMetricsResponse
11238
+ * @throws {Error} If the payload is not a reader or valid buffer
11239
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
11240
+ */
11241
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.WorkflowExecutionGetMetricsResponse;
11242
+
11243
+ /**
11244
+ * Verifies a WorkflowExecutionGetMetricsResponse message.
11245
+ * @param message Plain object to verify
11246
+ * @returns `null` if valid, otherwise the reason why it is not
11247
+ */
11248
+ public static verify(message: { [k: string]: any }): (string|null);
11249
+ }
11250
+
11038
11251
  /** Properties of a LaunchPlanCreateRequest. */
11039
11252
  interface ILaunchPlanCreateRequest {
11040
11253
 
@@ -18014,6 +18227,20 @@ export namespace flyteidl {
18014
18227
  * @returns Promise
18015
18228
  */
18016
18229
  public listDescriptionEntities(request: flyteidl.admin.IDescriptionEntityListRequest): Promise<flyteidl.admin.DescriptionEntityList>;
18230
+
18231
+ /**
18232
+ * Calls GetExecutionMetrics.
18233
+ * @param request WorkflowExecutionGetMetricsRequest message or plain object
18234
+ * @param callback Node-style callback called with the error, if any, and WorkflowExecutionGetMetricsResponse
18235
+ */
18236
+ public getExecutionMetrics(request: flyteidl.admin.IWorkflowExecutionGetMetricsRequest, callback: flyteidl.service.AdminService.GetExecutionMetricsCallback): void;
18237
+
18238
+ /**
18239
+ * Calls GetExecutionMetrics.
18240
+ * @param request WorkflowExecutionGetMetricsRequest message or plain object
18241
+ * @returns Promise
18242
+ */
18243
+ public getExecutionMetrics(request: flyteidl.admin.IWorkflowExecutionGetMetricsRequest): Promise<flyteidl.admin.WorkflowExecutionGetMetricsResponse>;
18017
18244
  }
18018
18245
 
18019
18246
  namespace AdminService {
@@ -18381,6 +18608,13 @@ export namespace flyteidl {
18381
18608
  * @param [response] DescriptionEntityList
18382
18609
  */
18383
18610
  type ListDescriptionEntitiesCallback = (error: (Error|null), response?: flyteidl.admin.DescriptionEntityList) => void;
18611
+
18612
+ /**
18613
+ * Callback as used by {@link flyteidl.service.AdminService#getExecutionMetrics}.
18614
+ * @param error Error, if any
18615
+ * @param [response] WorkflowExecutionGetMetricsResponse
18616
+ */
18617
+ type GetExecutionMetricsCallback = (error: (Error|null), response?: flyteidl.admin.WorkflowExecutionGetMetricsResponse) => void;
18384
18618
  }
18385
18619
 
18386
18620
  /** Properties of a OAuth2MetadataRequest. */
@@ -15279,6 +15279,270 @@
15279
15279
  return ErrorDocument;
15280
15280
  })();
15281
15281
 
15282
+ core.Span = (function() {
15283
+
15284
+ /**
15285
+ * Properties of a Span.
15286
+ * @memberof flyteidl.core
15287
+ * @interface ISpan
15288
+ * @property {google.protobuf.ITimestamp|null} [startTime] Span startTime
15289
+ * @property {google.protobuf.ITimestamp|null} [endTime] Span endTime
15290
+ * @property {flyteidl.core.IWorkflowExecutionIdentifier|null} [workflowId] Span workflowId
15291
+ * @property {flyteidl.core.INodeExecutionIdentifier|null} [nodeId] Span nodeId
15292
+ * @property {flyteidl.core.ITaskExecutionIdentifier|null} [taskId] Span taskId
15293
+ * @property {string|null} [operationId] Span operationId
15294
+ * @property {Array.<flyteidl.core.ISpan>|null} [spans] Span spans
15295
+ */
15296
+
15297
+ /**
15298
+ * Constructs a new Span.
15299
+ * @memberof flyteidl.core
15300
+ * @classdesc Represents a Span.
15301
+ * @implements ISpan
15302
+ * @constructor
15303
+ * @param {flyteidl.core.ISpan=} [properties] Properties to set
15304
+ */
15305
+ function Span(properties) {
15306
+ this.spans = [];
15307
+ if (properties)
15308
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
15309
+ if (properties[keys[i]] != null)
15310
+ this[keys[i]] = properties[keys[i]];
15311
+ }
15312
+
15313
+ /**
15314
+ * Span startTime.
15315
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
15316
+ * @memberof flyteidl.core.Span
15317
+ * @instance
15318
+ */
15319
+ Span.prototype.startTime = null;
15320
+
15321
+ /**
15322
+ * Span endTime.
15323
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
15324
+ * @memberof flyteidl.core.Span
15325
+ * @instance
15326
+ */
15327
+ Span.prototype.endTime = null;
15328
+
15329
+ /**
15330
+ * Span workflowId.
15331
+ * @member {flyteidl.core.IWorkflowExecutionIdentifier|null|undefined} workflowId
15332
+ * @memberof flyteidl.core.Span
15333
+ * @instance
15334
+ */
15335
+ Span.prototype.workflowId = null;
15336
+
15337
+ /**
15338
+ * Span nodeId.
15339
+ * @member {flyteidl.core.INodeExecutionIdentifier|null|undefined} nodeId
15340
+ * @memberof flyteidl.core.Span
15341
+ * @instance
15342
+ */
15343
+ Span.prototype.nodeId = null;
15344
+
15345
+ /**
15346
+ * Span taskId.
15347
+ * @member {flyteidl.core.ITaskExecutionIdentifier|null|undefined} taskId
15348
+ * @memberof flyteidl.core.Span
15349
+ * @instance
15350
+ */
15351
+ Span.prototype.taskId = null;
15352
+
15353
+ /**
15354
+ * Span operationId.
15355
+ * @member {string} operationId
15356
+ * @memberof flyteidl.core.Span
15357
+ * @instance
15358
+ */
15359
+ Span.prototype.operationId = "";
15360
+
15361
+ /**
15362
+ * Span spans.
15363
+ * @member {Array.<flyteidl.core.ISpan>} spans
15364
+ * @memberof flyteidl.core.Span
15365
+ * @instance
15366
+ */
15367
+ Span.prototype.spans = $util.emptyArray;
15368
+
15369
+ // OneOf field names bound to virtual getters and setters
15370
+ var $oneOfFields;
15371
+
15372
+ /**
15373
+ * Span id.
15374
+ * @member {"workflowId"|"nodeId"|"taskId"|"operationId"|undefined} id
15375
+ * @memberof flyteidl.core.Span
15376
+ * @instance
15377
+ */
15378
+ Object.defineProperty(Span.prototype, "id", {
15379
+ get: $util.oneOfGetter($oneOfFields = ["workflowId", "nodeId", "taskId", "operationId"]),
15380
+ set: $util.oneOfSetter($oneOfFields)
15381
+ });
15382
+
15383
+ /**
15384
+ * Creates a new Span instance using the specified properties.
15385
+ * @function create
15386
+ * @memberof flyteidl.core.Span
15387
+ * @static
15388
+ * @param {flyteidl.core.ISpan=} [properties] Properties to set
15389
+ * @returns {flyteidl.core.Span} Span instance
15390
+ */
15391
+ Span.create = function create(properties) {
15392
+ return new Span(properties);
15393
+ };
15394
+
15395
+ /**
15396
+ * Encodes the specified Span message. Does not implicitly {@link flyteidl.core.Span.verify|verify} messages.
15397
+ * @function encode
15398
+ * @memberof flyteidl.core.Span
15399
+ * @static
15400
+ * @param {flyteidl.core.ISpan} message Span message or plain object to encode
15401
+ * @param {$protobuf.Writer} [writer] Writer to encode to
15402
+ * @returns {$protobuf.Writer} Writer
15403
+ */
15404
+ Span.encode = function encode(message, writer) {
15405
+ if (!writer)
15406
+ writer = $Writer.create();
15407
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
15408
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
15409
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
15410
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
15411
+ if (message.workflowId != null && message.hasOwnProperty("workflowId"))
15412
+ $root.flyteidl.core.WorkflowExecutionIdentifier.encode(message.workflowId, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
15413
+ if (message.nodeId != null && message.hasOwnProperty("nodeId"))
15414
+ $root.flyteidl.core.NodeExecutionIdentifier.encode(message.nodeId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
15415
+ if (message.taskId != null && message.hasOwnProperty("taskId"))
15416
+ $root.flyteidl.core.TaskExecutionIdentifier.encode(message.taskId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
15417
+ if (message.operationId != null && message.hasOwnProperty("operationId"))
15418
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.operationId);
15419
+ if (message.spans != null && message.spans.length)
15420
+ for (var i = 0; i < message.spans.length; ++i)
15421
+ $root.flyteidl.core.Span.encode(message.spans[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
15422
+ return writer;
15423
+ };
15424
+
15425
+ /**
15426
+ * Decodes a Span message from the specified reader or buffer.
15427
+ * @function decode
15428
+ * @memberof flyteidl.core.Span
15429
+ * @static
15430
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
15431
+ * @param {number} [length] Message length if known beforehand
15432
+ * @returns {flyteidl.core.Span} Span
15433
+ * @throws {Error} If the payload is not a reader or valid buffer
15434
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
15435
+ */
15436
+ Span.decode = function decode(reader, length) {
15437
+ if (!(reader instanceof $Reader))
15438
+ reader = $Reader.create(reader);
15439
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.Span();
15440
+ while (reader.pos < end) {
15441
+ var tag = reader.uint32();
15442
+ switch (tag >>> 3) {
15443
+ case 1:
15444
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
15445
+ break;
15446
+ case 2:
15447
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
15448
+ break;
15449
+ case 3:
15450
+ message.workflowId = $root.flyteidl.core.WorkflowExecutionIdentifier.decode(reader, reader.uint32());
15451
+ break;
15452
+ case 4:
15453
+ message.nodeId = $root.flyteidl.core.NodeExecutionIdentifier.decode(reader, reader.uint32());
15454
+ break;
15455
+ case 5:
15456
+ message.taskId = $root.flyteidl.core.TaskExecutionIdentifier.decode(reader, reader.uint32());
15457
+ break;
15458
+ case 6:
15459
+ message.operationId = reader.string();
15460
+ break;
15461
+ case 7:
15462
+ if (!(message.spans && message.spans.length))
15463
+ message.spans = [];
15464
+ message.spans.push($root.flyteidl.core.Span.decode(reader, reader.uint32()));
15465
+ break;
15466
+ default:
15467
+ reader.skipType(tag & 7);
15468
+ break;
15469
+ }
15470
+ }
15471
+ return message;
15472
+ };
15473
+
15474
+ /**
15475
+ * Verifies a Span message.
15476
+ * @function verify
15477
+ * @memberof flyteidl.core.Span
15478
+ * @static
15479
+ * @param {Object.<string,*>} message Plain object to verify
15480
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
15481
+ */
15482
+ Span.verify = function verify(message) {
15483
+ if (typeof message !== "object" || message === null)
15484
+ return "object expected";
15485
+ var properties = {};
15486
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
15487
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
15488
+ if (error)
15489
+ return "startTime." + error;
15490
+ }
15491
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
15492
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
15493
+ if (error)
15494
+ return "endTime." + error;
15495
+ }
15496
+ if (message.workflowId != null && message.hasOwnProperty("workflowId")) {
15497
+ properties.id = 1;
15498
+ {
15499
+ var error = $root.flyteidl.core.WorkflowExecutionIdentifier.verify(message.workflowId);
15500
+ if (error)
15501
+ return "workflowId." + error;
15502
+ }
15503
+ }
15504
+ if (message.nodeId != null && message.hasOwnProperty("nodeId")) {
15505
+ if (properties.id === 1)
15506
+ return "id: multiple values";
15507
+ properties.id = 1;
15508
+ {
15509
+ var error = $root.flyteidl.core.NodeExecutionIdentifier.verify(message.nodeId);
15510
+ if (error)
15511
+ return "nodeId." + error;
15512
+ }
15513
+ }
15514
+ if (message.taskId != null && message.hasOwnProperty("taskId")) {
15515
+ if (properties.id === 1)
15516
+ return "id: multiple values";
15517
+ properties.id = 1;
15518
+ {
15519
+ var error = $root.flyteidl.core.TaskExecutionIdentifier.verify(message.taskId);
15520
+ if (error)
15521
+ return "taskId." + error;
15522
+ }
15523
+ }
15524
+ if (message.operationId != null && message.hasOwnProperty("operationId")) {
15525
+ if (properties.id === 1)
15526
+ return "id: multiple values";
15527
+ properties.id = 1;
15528
+ if (!$util.isString(message.operationId))
15529
+ return "operationId: string expected";
15530
+ }
15531
+ if (message.spans != null && message.hasOwnProperty("spans")) {
15532
+ if (!Array.isArray(message.spans))
15533
+ return "spans: array expected";
15534
+ for (var i = 0; i < message.spans.length; ++i) {
15535
+ var error = $root.flyteidl.core.Span.verify(message.spans[i]);
15536
+ if (error)
15537
+ return "spans." + error;
15538
+ }
15539
+ }
15540
+ return null;
15541
+ };
15542
+
15543
+ return Span;
15544
+ })();
15545
+
15282
15546
  core.WorkflowClosure = (function() {
15283
15547
 
15284
15548
  /**
@@ -15716,6 +15980,7 @@
15716
15980
  * @property {boolean|null} [isParent] NodeExecutionEvent isParent
15717
15981
  * @property {boolean|null} [isDynamic] NodeExecutionEvent isDynamic
15718
15982
  * @property {string|null} [deckUri] NodeExecutionEvent deckUri
15983
+ * @property {google.protobuf.ITimestamp|null} [reportedAt] NodeExecutionEvent reportedAt
15719
15984
  */
15720
15985
 
15721
15986
  /**
@@ -15893,6 +16158,14 @@
15893
16158
  */
15894
16159
  NodeExecutionEvent.prototype.deckUri = "";
15895
16160
 
16161
+ /**
16162
+ * NodeExecutionEvent reportedAt.
16163
+ * @member {google.protobuf.ITimestamp|null|undefined} reportedAt
16164
+ * @memberof flyteidl.event.NodeExecutionEvent
16165
+ * @instance
16166
+ */
16167
+ NodeExecutionEvent.prototype.reportedAt = null;
16168
+
15896
16169
  // OneOf field names bound to virtual getters and setters
15897
16170
  var $oneOfFields;
15898
16171
 
@@ -15993,6 +16266,8 @@
15993
16266
  writer.uint32(/* id 19, wireType 2 =*/154).string(message.deckUri);
15994
16267
  if (message.inputData != null && message.hasOwnProperty("inputData"))
15995
16268
  $root.flyteidl.core.LiteralMap.encode(message.inputData, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
16269
+ if (message.reportedAt != null && message.hasOwnProperty("reportedAt"))
16270
+ $root.google.protobuf.Timestamp.encode(message.reportedAt, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
15996
16271
  return writer;
15997
16272
  };
15998
16273
 
@@ -16074,6 +16349,9 @@
16074
16349
  case 19:
16075
16350
  message.deckUri = reader.string();
16076
16351
  break;
16352
+ case 21:
16353
+ message.reportedAt = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
16354
+ break;
16077
16355
  default:
16078
16356
  reader.skipType(tag & 7);
16079
16357
  break;
@@ -16213,6 +16491,11 @@
16213
16491
  if (message.deckUri != null && message.hasOwnProperty("deckUri"))
16214
16492
  if (!$util.isString(message.deckUri))
16215
16493
  return "deckUri: string expected";
16494
+ if (message.reportedAt != null && message.hasOwnProperty("reportedAt")) {
16495
+ var error = $root.google.protobuf.Timestamp.verify(message.reportedAt);
16496
+ if (error)
16497
+ return "reportedAt." + error;
16498
+ }
16216
16499
  return null;
16217
16500
  };
16218
16501
 
@@ -16925,6 +17208,7 @@
16925
17208
  * @property {string|null} [taskType] TaskExecutionEvent taskType
16926
17209
  * @property {flyteidl.event.ITaskExecutionMetadata|null} [metadata] TaskExecutionEvent metadata
16927
17210
  * @property {number|null} [eventVersion] TaskExecutionEvent eventVersion
17211
+ * @property {google.protobuf.ITimestamp|null} [reportedAt] TaskExecutionEvent reportedAt
16928
17212
  */
16929
17213
 
16930
17214
  /**
@@ -17087,6 +17371,14 @@
17087
17371
  */
17088
17372
  TaskExecutionEvent.prototype.eventVersion = 0;
17089
17373
 
17374
+ /**
17375
+ * TaskExecutionEvent reportedAt.
17376
+ * @member {google.protobuf.ITimestamp|null|undefined} reportedAt
17377
+ * @memberof flyteidl.event.TaskExecutionEvent
17378
+ * @instance
17379
+ */
17380
+ TaskExecutionEvent.prototype.reportedAt = null;
17381
+
17090
17382
  // OneOf field names bound to virtual getters and setters
17091
17383
  var $oneOfFields;
17092
17384
 
@@ -17173,6 +17465,8 @@
17173
17465
  writer.uint32(/* id 18, wireType 0 =*/144).int32(message.eventVersion);
17174
17466
  if (message.inputData != null && message.hasOwnProperty("inputData"))
17175
17467
  $root.flyteidl.core.LiteralMap.encode(message.inputData, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
17468
+ if (message.reportedAt != null && message.hasOwnProperty("reportedAt"))
17469
+ $root.google.protobuf.Timestamp.encode(message.reportedAt, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
17176
17470
  return writer;
17177
17471
  };
17178
17472
 
@@ -17250,6 +17544,9 @@
17250
17544
  case 18:
17251
17545
  message.eventVersion = reader.int32();
17252
17546
  break;
17547
+ case 20:
17548
+ message.reportedAt = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
17549
+ break;
17253
17550
  default:
17254
17551
  reader.skipType(tag & 7);
17255
17552
  break;
@@ -17376,6 +17673,11 @@
17376
17673
  if (message.eventVersion != null && message.hasOwnProperty("eventVersion"))
17377
17674
  if (!$util.isInteger(message.eventVersion))
17378
17675
  return "eventVersion: integer expected";
17676
+ if (message.reportedAt != null && message.hasOwnProperty("reportedAt")) {
17677
+ var error = $root.google.protobuf.Timestamp.verify(message.reportedAt);
17678
+ if (error)
17679
+ return "reportedAt." + error;
17680
+ }
17379
17681
  return null;
17380
17682
  };
17381
17683
 
@@ -26569,6 +26871,247 @@
26569
26871
  return ExecutionUpdateResponse;
26570
26872
  })();
26571
26873
 
26874
+ admin.WorkflowExecutionGetMetricsRequest = (function() {
26875
+
26876
+ /**
26877
+ * Properties of a WorkflowExecutionGetMetricsRequest.
26878
+ * @memberof flyteidl.admin
26879
+ * @interface IWorkflowExecutionGetMetricsRequest
26880
+ * @property {flyteidl.core.IWorkflowExecutionIdentifier|null} [id] WorkflowExecutionGetMetricsRequest id
26881
+ * @property {number|null} [depth] WorkflowExecutionGetMetricsRequest depth
26882
+ */
26883
+
26884
+ /**
26885
+ * Constructs a new WorkflowExecutionGetMetricsRequest.
26886
+ * @memberof flyteidl.admin
26887
+ * @classdesc Represents a WorkflowExecutionGetMetricsRequest.
26888
+ * @implements IWorkflowExecutionGetMetricsRequest
26889
+ * @constructor
26890
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsRequest=} [properties] Properties to set
26891
+ */
26892
+ function WorkflowExecutionGetMetricsRequest(properties) {
26893
+ if (properties)
26894
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
26895
+ if (properties[keys[i]] != null)
26896
+ this[keys[i]] = properties[keys[i]];
26897
+ }
26898
+
26899
+ /**
26900
+ * WorkflowExecutionGetMetricsRequest id.
26901
+ * @member {flyteidl.core.IWorkflowExecutionIdentifier|null|undefined} id
26902
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsRequest
26903
+ * @instance
26904
+ */
26905
+ WorkflowExecutionGetMetricsRequest.prototype.id = null;
26906
+
26907
+ /**
26908
+ * WorkflowExecutionGetMetricsRequest depth.
26909
+ * @member {number} depth
26910
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsRequest
26911
+ * @instance
26912
+ */
26913
+ WorkflowExecutionGetMetricsRequest.prototype.depth = 0;
26914
+
26915
+ /**
26916
+ * Creates a new WorkflowExecutionGetMetricsRequest instance using the specified properties.
26917
+ * @function create
26918
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsRequest
26919
+ * @static
26920
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsRequest=} [properties] Properties to set
26921
+ * @returns {flyteidl.admin.WorkflowExecutionGetMetricsRequest} WorkflowExecutionGetMetricsRequest instance
26922
+ */
26923
+ WorkflowExecutionGetMetricsRequest.create = function create(properties) {
26924
+ return new WorkflowExecutionGetMetricsRequest(properties);
26925
+ };
26926
+
26927
+ /**
26928
+ * Encodes the specified WorkflowExecutionGetMetricsRequest message. Does not implicitly {@link flyteidl.admin.WorkflowExecutionGetMetricsRequest.verify|verify} messages.
26929
+ * @function encode
26930
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsRequest
26931
+ * @static
26932
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsRequest} message WorkflowExecutionGetMetricsRequest message or plain object to encode
26933
+ * @param {$protobuf.Writer} [writer] Writer to encode to
26934
+ * @returns {$protobuf.Writer} Writer
26935
+ */
26936
+ WorkflowExecutionGetMetricsRequest.encode = function encode(message, writer) {
26937
+ if (!writer)
26938
+ writer = $Writer.create();
26939
+ if (message.id != null && message.hasOwnProperty("id"))
26940
+ $root.flyteidl.core.WorkflowExecutionIdentifier.encode(message.id, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
26941
+ if (message.depth != null && message.hasOwnProperty("depth"))
26942
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.depth);
26943
+ return writer;
26944
+ };
26945
+
26946
+ /**
26947
+ * Decodes a WorkflowExecutionGetMetricsRequest message from the specified reader or buffer.
26948
+ * @function decode
26949
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsRequest
26950
+ * @static
26951
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
26952
+ * @param {number} [length] Message length if known beforehand
26953
+ * @returns {flyteidl.admin.WorkflowExecutionGetMetricsRequest} WorkflowExecutionGetMetricsRequest
26954
+ * @throws {Error} If the payload is not a reader or valid buffer
26955
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
26956
+ */
26957
+ WorkflowExecutionGetMetricsRequest.decode = function decode(reader, length) {
26958
+ if (!(reader instanceof $Reader))
26959
+ reader = $Reader.create(reader);
26960
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.WorkflowExecutionGetMetricsRequest();
26961
+ while (reader.pos < end) {
26962
+ var tag = reader.uint32();
26963
+ switch (tag >>> 3) {
26964
+ case 1:
26965
+ message.id = $root.flyteidl.core.WorkflowExecutionIdentifier.decode(reader, reader.uint32());
26966
+ break;
26967
+ case 2:
26968
+ message.depth = reader.int32();
26969
+ break;
26970
+ default:
26971
+ reader.skipType(tag & 7);
26972
+ break;
26973
+ }
26974
+ }
26975
+ return message;
26976
+ };
26977
+
26978
+ /**
26979
+ * Verifies a WorkflowExecutionGetMetricsRequest message.
26980
+ * @function verify
26981
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsRequest
26982
+ * @static
26983
+ * @param {Object.<string,*>} message Plain object to verify
26984
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
26985
+ */
26986
+ WorkflowExecutionGetMetricsRequest.verify = function verify(message) {
26987
+ if (typeof message !== "object" || message === null)
26988
+ return "object expected";
26989
+ if (message.id != null && message.hasOwnProperty("id")) {
26990
+ var error = $root.flyteidl.core.WorkflowExecutionIdentifier.verify(message.id);
26991
+ if (error)
26992
+ return "id." + error;
26993
+ }
26994
+ if (message.depth != null && message.hasOwnProperty("depth"))
26995
+ if (!$util.isInteger(message.depth))
26996
+ return "depth: integer expected";
26997
+ return null;
26998
+ };
26999
+
27000
+ return WorkflowExecutionGetMetricsRequest;
27001
+ })();
27002
+
27003
+ admin.WorkflowExecutionGetMetricsResponse = (function() {
27004
+
27005
+ /**
27006
+ * Properties of a WorkflowExecutionGetMetricsResponse.
27007
+ * @memberof flyteidl.admin
27008
+ * @interface IWorkflowExecutionGetMetricsResponse
27009
+ * @property {flyteidl.core.ISpan|null} [span] WorkflowExecutionGetMetricsResponse span
27010
+ */
27011
+
27012
+ /**
27013
+ * Constructs a new WorkflowExecutionGetMetricsResponse.
27014
+ * @memberof flyteidl.admin
27015
+ * @classdesc Represents a WorkflowExecutionGetMetricsResponse.
27016
+ * @implements IWorkflowExecutionGetMetricsResponse
27017
+ * @constructor
27018
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsResponse=} [properties] Properties to set
27019
+ */
27020
+ function WorkflowExecutionGetMetricsResponse(properties) {
27021
+ if (properties)
27022
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
27023
+ if (properties[keys[i]] != null)
27024
+ this[keys[i]] = properties[keys[i]];
27025
+ }
27026
+
27027
+ /**
27028
+ * WorkflowExecutionGetMetricsResponse span.
27029
+ * @member {flyteidl.core.ISpan|null|undefined} span
27030
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsResponse
27031
+ * @instance
27032
+ */
27033
+ WorkflowExecutionGetMetricsResponse.prototype.span = null;
27034
+
27035
+ /**
27036
+ * Creates a new WorkflowExecutionGetMetricsResponse instance using the specified properties.
27037
+ * @function create
27038
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsResponse
27039
+ * @static
27040
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsResponse=} [properties] Properties to set
27041
+ * @returns {flyteidl.admin.WorkflowExecutionGetMetricsResponse} WorkflowExecutionGetMetricsResponse instance
27042
+ */
27043
+ WorkflowExecutionGetMetricsResponse.create = function create(properties) {
27044
+ return new WorkflowExecutionGetMetricsResponse(properties);
27045
+ };
27046
+
27047
+ /**
27048
+ * Encodes the specified WorkflowExecutionGetMetricsResponse message. Does not implicitly {@link flyteidl.admin.WorkflowExecutionGetMetricsResponse.verify|verify} messages.
27049
+ * @function encode
27050
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsResponse
27051
+ * @static
27052
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsResponse} message WorkflowExecutionGetMetricsResponse message or plain object to encode
27053
+ * @param {$protobuf.Writer} [writer] Writer to encode to
27054
+ * @returns {$protobuf.Writer} Writer
27055
+ */
27056
+ WorkflowExecutionGetMetricsResponse.encode = function encode(message, writer) {
27057
+ if (!writer)
27058
+ writer = $Writer.create();
27059
+ if (message.span != null && message.hasOwnProperty("span"))
27060
+ $root.flyteidl.core.Span.encode(message.span, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
27061
+ return writer;
27062
+ };
27063
+
27064
+ /**
27065
+ * Decodes a WorkflowExecutionGetMetricsResponse message from the specified reader or buffer.
27066
+ * @function decode
27067
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsResponse
27068
+ * @static
27069
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
27070
+ * @param {number} [length] Message length if known beforehand
27071
+ * @returns {flyteidl.admin.WorkflowExecutionGetMetricsResponse} WorkflowExecutionGetMetricsResponse
27072
+ * @throws {Error} If the payload is not a reader or valid buffer
27073
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
27074
+ */
27075
+ WorkflowExecutionGetMetricsResponse.decode = function decode(reader, length) {
27076
+ if (!(reader instanceof $Reader))
27077
+ reader = $Reader.create(reader);
27078
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.WorkflowExecutionGetMetricsResponse();
27079
+ while (reader.pos < end) {
27080
+ var tag = reader.uint32();
27081
+ switch (tag >>> 3) {
27082
+ case 1:
27083
+ message.span = $root.flyteidl.core.Span.decode(reader, reader.uint32());
27084
+ break;
27085
+ default:
27086
+ reader.skipType(tag & 7);
27087
+ break;
27088
+ }
27089
+ }
27090
+ return message;
27091
+ };
27092
+
27093
+ /**
27094
+ * Verifies a WorkflowExecutionGetMetricsResponse message.
27095
+ * @function verify
27096
+ * @memberof flyteidl.admin.WorkflowExecutionGetMetricsResponse
27097
+ * @static
27098
+ * @param {Object.<string,*>} message Plain object to verify
27099
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
27100
+ */
27101
+ WorkflowExecutionGetMetricsResponse.verify = function verify(message) {
27102
+ if (typeof message !== "object" || message === null)
27103
+ return "object expected";
27104
+ if (message.span != null && message.hasOwnProperty("span")) {
27105
+ var error = $root.flyteidl.core.Span.verify(message.span);
27106
+ if (error)
27107
+ return "span." + error;
27108
+ }
27109
+ return null;
27110
+ };
27111
+
27112
+ return WorkflowExecutionGetMetricsResponse;
27113
+ })();
27114
+
26572
27115
  admin.LaunchPlanCreateRequest = (function() {
26573
27116
 
26574
27117
  /**
@@ -42903,6 +43446,39 @@
42903
43446
  * @variation 2
42904
43447
  */
42905
43448
 
43449
+ /**
43450
+ * Callback as used by {@link flyteidl.service.AdminService#getExecutionMetrics}.
43451
+ * @memberof flyteidl.service.AdminService
43452
+ * @typedef GetExecutionMetricsCallback
43453
+ * @type {function}
43454
+ * @param {Error|null} error Error, if any
43455
+ * @param {flyteidl.admin.WorkflowExecutionGetMetricsResponse} [response] WorkflowExecutionGetMetricsResponse
43456
+ */
43457
+
43458
+ /**
43459
+ * Calls GetExecutionMetrics.
43460
+ * @function getExecutionMetrics
43461
+ * @memberof flyteidl.service.AdminService
43462
+ * @instance
43463
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsRequest} request WorkflowExecutionGetMetricsRequest message or plain object
43464
+ * @param {flyteidl.service.AdminService.GetExecutionMetricsCallback} callback Node-style callback called with the error, if any, and WorkflowExecutionGetMetricsResponse
43465
+ * @returns {undefined}
43466
+ * @variation 1
43467
+ */
43468
+ Object.defineProperty(AdminService.prototype.getExecutionMetrics = function getExecutionMetrics(request, callback) {
43469
+ return this.rpcCall(getExecutionMetrics, $root.flyteidl.admin.WorkflowExecutionGetMetricsRequest, $root.flyteidl.admin.WorkflowExecutionGetMetricsResponse, request, callback);
43470
+ }, "name", { value: "GetExecutionMetrics" });
43471
+
43472
+ /**
43473
+ * Calls GetExecutionMetrics.
43474
+ * @function getExecutionMetrics
43475
+ * @memberof flyteidl.service.AdminService
43476
+ * @instance
43477
+ * @param {flyteidl.admin.IWorkflowExecutionGetMetricsRequest} request WorkflowExecutionGetMetricsRequest message or plain object
43478
+ * @returns {Promise<flyteidl.admin.WorkflowExecutionGetMetricsResponse>} Promise
43479
+ * @variation 2
43480
+ */
43481
+
42906
43482
  return AdminService;
42907
43483
  })();
42908
43484
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyteorg/flyteidl",
3
- "version": "1.3.13",
3
+ "version": "1.3.15",
4
4
  "description": "Compiled protocol buffers and gRPC service clients/servers for Flyte IDLs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -5,6 +5,7 @@ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin";
5
5
 
6
6
  import "flyteidl/core/execution.proto";
7
7
  import "flyteidl/core/identifier.proto";
8
+ import "google/protobuf/timestamp.proto";
8
9
 
9
10
  // Encapsulation of fields that identifies a Flyte resource.
10
11
  // A Flyte resource can be a task, workflow or launch plan.
@@ -8,6 +8,7 @@ import "flyteidl/admin/common.proto";
8
8
  import "flyteidl/core/literals.proto";
9
9
  import "flyteidl/core/execution.proto";
10
10
  import "flyteidl/core/identifier.proto";
11
+ import "flyteidl/core/metrics.proto";
11
12
  import "flyteidl/core/security.proto";
12
13
  import "google/protobuf/duration.proto";
13
14
  import "google/protobuf/timestamp.proto";
@@ -381,3 +382,19 @@ message ExecutionStateChangeDetails {
381
382
  }
382
383
 
383
384
  message ExecutionUpdateResponse {}
385
+
386
+ // WorkflowExecutionGetMetricsRequest represents a request to retrieve metrics for the specified workflow execution.
387
+ message WorkflowExecutionGetMetricsRequest {
388
+ // id defines the workflow execution to query for.
389
+ core.WorkflowExecutionIdentifier id = 1;
390
+
391
+ // depth defines the number of Flyte entity levels to traverse when breaking down execution details.
392
+ int32 depth = 2;
393
+ }
394
+
395
+ // WorkflowExecutionGetMetricsResponse represents the response containing metrics for the specified workflow execution.
396
+ message WorkflowExecutionGetMetricsResponse {
397
+ // Span defines the top-level breakdown of the workflows execution. More precise information is nested in a
398
+ // hierarchical structure using Flyte entity references.
399
+ core.Span span = 1;
400
+ }
@@ -228,4 +228,3 @@ message NodeExecutionGetDataResponse {
228
228
  // Optional Workflow closure for a dynamically generated workflow, in the case this node yields a dynamic workflow we return its structure here.
229
229
  DynamicWorkflowNodeMetadata dynamic_workflow = 16;
230
230
  }
231
-
@@ -0,0 +1,36 @@
1
+ syntax = "proto3";
2
+
3
+ package flyteidl.core;
4
+
5
+ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core";
6
+
7
+ import "flyteidl/core/identifier.proto";
8
+ import "google/protobuf/timestamp.proto";
9
+
10
+ // Span represents a duration trace of Flyte execution. The id field denotes a Flyte execution entity or an operation
11
+ // which uniquely identifies the Span. The spans attribute allows this Span to be further broken down into more
12
+ // precise definitions.
13
+ message Span {
14
+ // start_time defines the instance this span began.
15
+ google.protobuf.Timestamp start_time = 1;
16
+
17
+ // end_time defines the instance this span completed.
18
+ google.protobuf.Timestamp end_time = 2;
19
+
20
+ oneof id {
21
+ // workflow_id is the id of the workflow execution this Span represents.
22
+ flyteidl.core.WorkflowExecutionIdentifier workflow_id = 3;
23
+
24
+ // node_id is the id of the node execution this Span represents.
25
+ flyteidl.core.NodeExecutionIdentifier node_id = 4;
26
+
27
+ // task_id is the id of the task execution this Span represents.
28
+ flyteidl.core.TaskExecutionIdentifier task_id = 5;
29
+
30
+ // operation_id is the id of a unique operation that this Span represents.
31
+ string operation_id = 6;
32
+ }
33
+
34
+ // spans defines a collection of Spans that breakdown this execution.
35
+ repeated Span spans = 7;
36
+ }
@@ -104,6 +104,12 @@ message NodeExecutionEvent {
104
104
  // String location uniquely identifying where the deck HTML file is
105
105
  // NativeUrl specifies the url in the format of the configured storage provider (e.g. s3://my-bucket/randomstring/suffix.tar)
106
106
  string deck_uri = 19;
107
+
108
+ // This timestamp represents the instant when the event was reported by the executing framework. For example,
109
+ // when first processing a node the `occurred_at` timestamp should be the instant propeller makes progress, so when
110
+ // literal inputs are initially copied. The event however will not be sent until after the copy completes.
111
+ // Extracting both of these timestamps facilitates a more accurate portrayal of the evaluation time-series.
112
+ google.protobuf.Timestamp reported_at = 21;
107
113
  }
108
114
 
109
115
  // For Workflow Nodes we need to send information about the workflow that's launched
@@ -221,6 +227,12 @@ message TaskExecutionEvent {
221
227
  // TaskExecutionMetadata ExternalResourceInfo fields for each subtask rather than the TaskLog
222
228
  // in this message.
223
229
  int32 event_version = 18;
230
+
231
+ // This timestamp represents the instant when the event was reported by the executing framework. For example, a k8s
232
+ // pod task may be marked completed at (ie. `occurred_at`) the instant the container running user code completes,
233
+ // but this event will not be reported until the pod is marked as completed. Extracting both of these timestamps
234
+ // facilitates a more accurate portrayal of the evaluation time-series.
235
+ google.protobuf.Timestamp reported_at = 20;
224
236
  }
225
237
 
226
238
  // This message contains metadata about external resources produced or used by a specific task execution.
@@ -20,6 +20,7 @@ import "flyteidl/admin/version.proto";
20
20
  import "flyteidl/admin/common.proto";
21
21
  import "flyteidl/admin/description_entity.proto";
22
22
  import "flyteidl/core/identifier.proto";
23
+ import "flyteidl/core/metrics.proto";
23
24
  // import "protoc-gen-swagger/options/annotations.proto";
24
25
 
25
26
  // The following defines an RPC service that is also served over HTTP via grpc-gateway.
@@ -627,4 +628,14 @@ service AdminService {
627
628
  // description: "Fetch existing description entity definitions matching input filters."
628
629
  // };
629
630
  }
631
+
632
+ // Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`.
633
+ rpc GetExecutionMetrics (flyteidl.admin.WorkflowExecutionGetMetricsRequest) returns (flyteidl.admin.WorkflowExecutionGetMetricsResponse) {
634
+ option (google.api.http) = {
635
+ get: "/api/v1/metrics/executions/{id.project}/{id.domain}/{id.name}"
636
+ };
637
+ // option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = {
638
+ // description: "Retrieve metrics from an existing workflow execution."
639
+ // };
640
+ };
630
641
  }