@@ -566,12 +566,17 @@ static vine_result_code_t get_completion_result(struct vine_manager *q, struct v
566566 t -> time_workers_execute_last = observed_execution_time > execution_time ? execution_time : observed_execution_time ;
567567 t -> time_workers_execute_last_start = start_time ;
568568 t -> time_workers_execute_last_end = end_time ;
569- t -> resources_measured -> wall_time = t -> time_workers_execute_last_end - t -> time_workers_execute_last_start ;
570569 t -> time_workers_execute_all += t -> time_workers_execute_last ;
571570 t -> output_length = output_length ;
572571 t -> result = task_status ;
573572 t -> exit_code = exit_status ;
574573
574+ /* fill resources measured with whatever vine reported/committed, as a fallback when task ran without monitoring enabled */
575+ t -> resources_measured -> start = ((double )start_time ) / ONE_SECOND ;
576+ t -> resources_measured -> end = ((double )end_time ) / ONE_SECOND ;
577+ t -> resources_measured -> wall_time = ((double )t -> time_workers_execute_last ) / ONE_SECOND ;
578+ rmsummary_merge_override_basic (t -> resources_measured , t -> resources_allocated );
579+
575580 /* If output is less than 1KB stdout is sent along with completion msg. retrieve it from the link. */
576581 if (bytes_sent ) {
577582 get_stdout (q , w , t , bytes_sent );
@@ -1168,12 +1173,14 @@ static void read_measured_resources(struct vine_manager *q, struct vine_task *t)
11681173{
11691174 char * summary = monitor_file_name (q , t , ".summary" , 0 );
11701175
1171- if (t -> resources_measured ) {
1172- rmsummary_delete (t -> resources_measured );
1173- }
1174-
1176+ struct rmsummary * tmp = t -> resources_measured ;
11751177 t -> resources_measured = rmsummary_parse_file_single (summary );
11761178
1179+ /* read the fallback values set by get_completion_result, if any */
1180+ /* if tmp is null that's ok, both delete and merge_default check for it */
1181+ rmsummary_merge_default (t -> resources_measured , tmp );
1182+ rmsummary_delete (tmp );
1183+
11771184 if (t -> resources_measured ) {
11781185 t -> exit_code = t -> resources_measured -> exit_status ;
11791186
0 commit comments