This repository was archived by the owner on Nov 13, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 7 files changed +113
-1
lines changed
Expand file tree Collapse file tree 7 files changed +113
-1
lines changed Original file line number Diff line number Diff line change 44
55import os
66import pathlib
7+ import time
78
89from modules import detection_in_world
910from utilities .workers import queue_proxy_wrapper
@@ -47,6 +48,8 @@ def cluster_estimation_worker(
4748 worker_controller: worker_controller.WorkerController
4849 How the main process communicates to this worker process.
4950 """
51+ setup_start_time = time .time ()
52+
5053 worker_name = pathlib .Path (__file__ ).stem
5154 process_id = os .getpid ()
5255 result , local_logger = logger .Logger .create (f"{ worker_name } _{ process_id } " , True )
@@ -72,7 +75,15 @@ def cluster_estimation_worker(
7275 # Get Pylance to stop complaining
7376 assert estimator is not None
7477
78+ setup_end_time = time .time ()
79+
80+ local_logger .info (
81+ f"{ time .time ()} : Worker setup took { setup_end_time - setup_start_time } seconds."
82+ )
83+
7584 while not controller .is_exit_requested ():
85+ iteration_start_time = time .time ()
86+
7687 controller .check_pause ()
7788
7889 input_data = input_queue .queue .get ()
@@ -99,3 +110,9 @@ def cluster_estimation_worker(
99110 continue
100111
101112 output_queue .queue .put (value )
113+
114+ iteration_end_time = time .time ()
115+
116+ local_logger .info (
117+ f"{ time .time ()} : Worker iteration took { iteration_end_time - iteration_start_time } seconds."
118+ )
Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ def communications_worker(
3030 input_queue and output_queue are data queues.
3131 controller is how the main process communicates to this worker process.
3232 """
33+ setup_start_time = time .time ()
3334
3435 worker_name = pathlib .Path (__file__ ).stem
3536 process_id = os .getpid ()
@@ -60,7 +61,15 @@ def communications_worker(
6061 # Get Pylance to stop complaining
6162 assert comm is not None
6263
64+ setup_end_time = time .time ()
65+
66+ local_logger .info (
67+ f"{ time .time ()} : Worker setup took { setup_end_time - setup_start_time } seconds."
68+ )
69+
6370 while not controller .is_exit_requested ():
71+ iteration_start_time = time .time ()
72+
6473 controller .check_pause ()
6574
6675 input_data = input_queue .queue .get ()
@@ -95,3 +104,9 @@ def communications_worker(
95104
96105 output_queue .queue .put (message )
97106 message_output_queue .queue .put (message )
107+
108+ iteration_end_time = time .time ()
109+
110+ local_logger .info (
111+ f"{ time .time ()} : Worker iteration took { iteration_end_time - iteration_start_time } seconds."
112+ )
Original file line number Diff line number Diff line change 55import os
66import pathlib
77import queue
8+ import time
89
910from utilities .workers import queue_proxy_wrapper
1011from utilities .workers import worker_controller
@@ -31,6 +32,8 @@ def data_merge_worker(
3132 Merge work is done in the worker process as the queues and control mechanisms
3233 are naturally available.
3334 """
35+ setup_start_time = time .time ()
36+
3437 worker_name = pathlib .Path (__file__ ).stem
3538 process_id = os .getpid ()
3639 result , local_logger = logger .Logger .create (f"{ worker_name } _{ process_id } " , True )
@@ -52,7 +55,15 @@ def data_merge_worker(
5255 local_logger .error ("Queue timed out on startup" , True )
5356 return
5457
58+ setup_end_time = time .time ()
59+
60+ local_logger .info (
61+ f"{ time .time ()} : Worker setup took { setup_end_time - setup_start_time } seconds."
62+ )
63+
5564 while not controller .is_exit_requested ():
65+ iteration_start_time = time .time ()
66+
5667 controller .check_pause ()
5768
5869 detections : detections_and_time .DetectionsAndTime = detections_input_queue .queue .get ()
@@ -107,3 +118,9 @@ def data_merge_worker(
107118 assert merged is not None
108119
109120 output_queue .queue .put (merged )
121+
122+ iteration_end_time = time .time ()
123+
124+ local_logger .info (
125+ f"{ time .time ()} : Worker iteration took { iteration_end_time - iteration_start_time } seconds."
126+ )
Original file line number Diff line number Diff line change 44
55import os
66import pathlib
7+ import time
78
89from modules import image_and_time
910from utilities .workers import queue_proxy_wrapper
@@ -34,6 +35,8 @@ def detect_target_worker(
3435 input_queue and output_queue are data queues.
3536 controller is how the main process communicates to this worker process.
3637 """
38+ setup_start_time = time .time ()
39+
3740 worker_name = pathlib .Path (__file__ ).stem
3841 process_id = os .getpid ()
3942 result , local_logger = logger .Logger .create (f"{ worker_name } _{ process_id } " , True )
@@ -53,15 +56,22 @@ def detect_target_worker(
5356 config ,
5457 local_logger ,
5558 )
56-
5759 if not result :
5860 local_logger .error ("Could not construct detector." )
5961 return
6062
6163 # Get Pylance to stop complaining
6264 assert detector is not None
6365
66+ setup_end_time = time .time ()
67+
68+ local_logger .info (
69+ f"{ time .time ()} : Worker setup took { setup_end_time - setup_start_time } seconds."
70+ )
71+
6472 while not controller .is_exit_requested ():
73+ iteration_start_time = time .time ()
74+
6575 controller .check_pause ()
6676
6777 input_data = input_queue .queue .get ()
@@ -78,3 +88,9 @@ def detect_target_worker(
7888 continue
7989
8090 output_queue .queue .put (value )
91+
92+ iteration_end_time = time .time ()
93+
94+ local_logger .info (
95+ f"{ time .time ()} : Worker iteration took { iteration_end_time - iteration_start_time } seconds."
96+ )
Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ def flight_interface_worker(
3333 controller is how the main process communicates to this worker process.
3434 """
3535 # TODO: Error handling
36+ setup_start_time = time .time ()
3637
3738 worker_name = pathlib .Path (__file__ ).stem
3839 process_id = os .getpid ()
@@ -59,7 +60,15 @@ def flight_interface_worker(
5960 home_position = interface .get_home_position ()
6061 communications_output_queue .queue .put (home_position )
6162
63+ setup_end_time = time .time ()
64+
65+ local_logger .info (
66+ f"{ time .time ()} : Worker setup took { setup_end_time - setup_start_time } seconds."
67+ )
68+
6269 while not controller .is_exit_requested ():
70+ iteration_start_time = time .time ()
71+
6372 controller .check_pause ()
6473
6574 time .sleep (period )
@@ -80,3 +89,9 @@ def flight_interface_worker(
8089 command = input_queue .queue .get ()
8190 # Pass the decision command to the flight controller
8291 interface .apply_decision (command )
92+
93+ iteration_end_time = time .time ()
94+
95+ local_logger .info (
96+ f"{ time .time ()} : Worker iteration took { iteration_end_time - iteration_start_time } seconds."
97+ )
Original file line number Diff line number Diff line change 44
55import os
66import pathlib
7+ import time
78
89from modules import merged_odometry_detections
910from utilities .workers import queue_proxy_wrapper
@@ -27,6 +28,7 @@ def geolocation_worker(
2728 controller is how the main process communicates to this worker process.
2829 """
2930 # TODO: Handle errors better
31+ setup_start_time = time .time ()
3032
3133 worker_name = pathlib .Path (__file__ ).stem
3234 process_id = os .getpid ()
@@ -51,7 +53,15 @@ def geolocation_worker(
5153 # Get Pylance to stop complaining
5254 assert locator is not None
5355
56+ setup_end_time = time .time ()
57+
58+ local_logger .info (
59+ f"{ time .time ()} : Worker setup took { setup_end_time - setup_start_time } seconds."
60+ )
61+
5462 while not controller .is_exit_requested ():
63+ iteration_start_time = time .time ()
64+
5565 controller .check_pause ()
5666
5767 input_data = input_queue .queue .get ()
@@ -68,3 +78,9 @@ def geolocation_worker(
6878 continue
6979
7080 output_queue .queue .put (value )
81+
82+ iteration_end_time = time .time ()
83+
84+ local_logger .info (
85+ f"{ time .time ()} : Worker iteration took { iteration_end_time - iteration_start_time } seconds."
86+ )
Original file line number Diff line number Diff line change @@ -32,6 +32,8 @@ def video_input_worker(
3232 output_queue is the data queue.
3333 controller is how the main process communicates to this worker process.
3434 """
35+ setup_start_time = time .time ()
36+
3537 worker_name = pathlib .Path (__file__ ).stem
3638 process_id = os .getpid ()
3739 result , local_logger = logger .Logger .create (f"{ worker_name } _{ process_id } " , True )
@@ -53,7 +55,15 @@ def video_input_worker(
5355 # Get Pylance to stop complaining
5456 assert input_device is not None
5557
58+ setup_end_time = time .time ()
59+
60+ local_logger .info (
61+ f"{ time .time ()} : Worker setup took { setup_end_time - setup_start_time } seconds."
62+ )
63+
5664 while not controller .is_exit_requested ():
65+ iteration_start_time = time .time ()
66+
5767 controller .check_pause ()
5868
5969 time .sleep (period )
@@ -63,3 +73,9 @@ def video_input_worker(
6373 continue
6474
6575 output_queue .queue .put (value )
76+
77+ iteration_end_time = time .time ()
78+
79+ local_logger .info (
80+ f"{ time .time ()} : Worker iteration took { iteration_end_time - iteration_start_time } seconds."
81+ )
You can’t perform that action at this time.
0 commit comments