@@ -32,6 +32,9 @@ message StreamingMessage {
32
32
WorkerInitRequest worker_init_request = 17 ;
33
33
// Worker responds after initializing with its capabilities & status
34
34
WorkerInitResponse worker_init_response = 16 ;
35
+
36
+ // Worker periodically sends empty heartbeat message to host
37
+ WorkerHeartbeat worker_heartbeat = 15 ;
35
38
36
39
// Host sends terminate message to worker.
37
40
// Worker terminates if it can, otherwise host terminates after a grace period
@@ -117,13 +120,35 @@ message WorkerInitRequest {
117
120
118
121
// Worker responds with the result of initializing itself
119
122
message WorkerInitResponse {
120
- // Version of worker
123
+ // NOT USED
124
+ // TODO: Remove from protobuf during next breaking change release
121
125
string worker_version = 1 ;
126
+
122
127
// A map of worker supported features/capabilities
123
128
map <string , string > capabilities = 2 ;
124
129
125
130
// Status of the response
126
131
StatusResult result = 3 ;
132
+
133
+ // Worker metadata captured for telemetry purposes
134
+ WorkerMetadata worker_metadata = 4 ;
135
+ }
136
+
137
+ message WorkerMetadata {
138
+ // The runtime/stack name
139
+ string runtime_name = 1 ;
140
+
141
+ // The version of the runtime/stack
142
+ string runtime_version = 2 ;
143
+
144
+ // The version of the worker
145
+ string worker_version = 3 ;
146
+
147
+ // The worker bitness/architecture
148
+ string worker_bitness = 4 ;
149
+
150
+ // Optional additional custom properties
151
+ map <string , string > custom_properties = 5 ;
127
152
}
128
153
129
154
// Used by the host to determine success/failure/cancellation
@@ -134,6 +159,7 @@ message StatusResult {
134
159
Success = 1 ;
135
160
Cancelled = 2 ;
136
161
}
162
+
137
163
// Status for the given result
138
164
Status status = 4 ;
139
165
@@ -147,6 +173,10 @@ message StatusResult {
147
173
repeated RpcLog logs = 3 ;
148
174
}
149
175
176
+ // NOT USED
177
+ // TODO: Remove from protobuf during next breaking change release
178
+ message WorkerHeartbeat {}
179
+
150
180
// Warning before killing the process after grace_period
151
181
// Worker self terminates ..no response on this
152
182
message WorkerTerminate {
@@ -291,6 +321,11 @@ message RpcFunctionMetadata {
291
321
292
322
// A flag indicating if managed dependency is enabled or not
293
323
bool managed_dependency_enabled = 14 ;
324
+
325
+ // Properties for function metadata
326
+ // They're usually specific to a worker and largely passed along to the controller API for use
327
+ // outside the host
328
+ map <string ,string > Properties = 16 ;
294
329
}
295
330
296
331
// Host tells worker it is ready to receive metadata
@@ -549,11 +584,11 @@ message RpcException {
549
584
550
585
// Worker specifies whether exception is a user exception,
551
586
// for purpose of application insights logging. Defaults to false.
552
- optional bool is_user_exception = 4 ;
587
+ bool is_user_exception = 4 ;
553
588
554
589
// Type of exception. If it's a user exception, the type is passed along to app insights.
555
590
// Otherwise, it's ignored for now.
556
- optional string type = 5 ;
591
+ string type = 5 ;
557
592
}
558
593
559
594
// Http cookie type. Note that only name and value are used for Http requests
0 commit comments