@@ -141,9 +141,9 @@ func spawnWorkerForJob(h Interface, j workerStarterRequest) (bool, error) {
141
141
return false , nil
142
142
}
143
143
144
- _ , next := observability .Span (ctx , "hatchery.QueueJobBook" )
145
- ctxt , cancel := context .WithTimeout (ctx , 10 * time .Second )
146
- if err := h .CDSClient ().QueueJobBook (ctxt , j .id ); err != nil {
144
+ ctxQueueJobBook , next := observability .Span (ctx , "hatchery.QueueJobBook" )
145
+ ctxQueueJobBook , cancel := context .WithTimeout (ctxQueueJobBook , 10 * time .Second )
146
+ if err := h .CDSClient ().QueueJobBook (ctxQueueJobBook , j .id ); err != nil {
147
147
next ()
148
148
// perhaps already booked by another hatchery
149
149
log .Info ("hatchery> spawnWorkerForJob> %d - cannot book job %d %s: %s" , j .timestamp , j .id , j .model .Name , err )
@@ -154,19 +154,21 @@ func spawnWorkerForJob(h Interface, j workerStarterRequest) (bool, error) {
154
154
cancel ()
155
155
log .Debug ("hatchery> spawnWorkerForJob> %d - send book job %d %s by hatchery %d" , j .timestamp , j .id , j .model .Name , h .ID ())
156
156
157
+ ctxSendSpawnInfo , next := observability .Span (ctx , "hatchery.SendSpawnInfo" , observability .Tag ("msg" , sdk .MsgSpawnInfoHatcheryStarts .ID ))
157
158
start := time .Now ()
158
- SendSpawnInfo (ctx , h , j .id , sdk.SpawnMsg {
159
+ SendSpawnInfo (ctxSendSpawnInfo , h , j .id , sdk.SpawnMsg {
159
160
ID : sdk .MsgSpawnInfoHatcheryStarts .ID ,
160
161
Args : []interface {}{h .Service ().Name , fmt .Sprintf ("%d" , h .ID ()), j .model .Name },
161
162
})
163
+ next ()
162
164
163
165
log .Info ("hatchery> spawnWorkerForJob> SpawnWorker> starting model %s for job %d" , j .model .Name , j .id )
164
166
_ , next = observability .Span (ctx , "hatchery.SpawnWorker" )
165
167
workerName , errSpawn := h .SpawnWorker (j .ctx , SpawnArguments {Model : j .model , JobID : j .id , Requirements : j .requirements , LogInfo : "spawn for job" })
166
168
next ()
167
169
if errSpawn != nil {
168
- _ , next = observability .Span (ctx , "hatchery.QueueJobSendSpawnInfo" , observability .Tag ("status" , "errSpawn" ))
169
- SendSpawnInfo (ctx , h , j .id , sdk.SpawnMsg {
170
+ ctxSendSpawnInfo , next = observability .Span (ctx , "hatchery.QueueJobSendSpawnInfo" , observability .Tag ("status" , "errSpawn" ), observability . Tag ( "msg" , sdk . MsgSpawnInfoHatcheryErrorSpawn . ID ))
171
+ SendSpawnInfo (ctxSendSpawnInfo , h , j .id , sdk.SpawnMsg {
170
172
ID : sdk .MsgSpawnInfoHatcheryErrorSpawn .ID ,
171
173
Args : []interface {}{h .Service ().Name , fmt .Sprintf ("%d" , h .ID ()), j .model .Name , sdk .Round (time .Since (start ), time .Second ).String (), errSpawn .Error ()},
172
174
})
@@ -175,20 +177,24 @@ func spawnWorkerForJob(h Interface, j workerStarterRequest) (bool, error) {
175
177
return false , nil
176
178
}
177
179
178
- SendSpawnInfo (ctx , h , j .id , sdk.SpawnMsg {
180
+ ctxSendSpawnInfo , next = observability .Span (ctx , "hatchery.SendSpawnInfo" , observability .Tag ("msg" , sdk .MsgSpawnInfoHatcheryStartsSuccessfully .ID ))
181
+ SendSpawnInfo (ctxSendSpawnInfo , h , j .id , sdk.SpawnMsg {
179
182
ID : sdk .MsgSpawnInfoHatcheryStartsSuccessfully .ID ,
180
183
Args : []interface {}{
181
184
h .Service ().Name ,
182
185
fmt .Sprintf ("%d" , h .ID ()),
183
186
workerName ,
184
187
sdk .Round (time .Since (start ), time .Second ).String ()},
185
188
})
189
+ next ()
186
190
187
191
if j .model .IsDeprecated {
188
- SendSpawnInfo (ctx , h , j .id , sdk.SpawnMsg {
192
+ ctxSendSpawnInfo , next = observability .Span (ctx , "hatchery.SendSpawnInfo" , observability .Tag ("msg" , sdk .MsgSpawnInfoDeprecatedModel .ID ))
193
+ SendSpawnInfo (ctxSendSpawnInfo , h , j .id , sdk.SpawnMsg {
189
194
ID : sdk .MsgSpawnInfoDeprecatedModel .ID ,
190
195
Args : []interface {}{j .model .Name },
191
196
})
197
+ next ()
192
198
}
193
199
return true , nil // ok for this job
194
200
}
0 commit comments