Skip to content
This repository was archived by the owner on Nov 13, 2025. It is now read-only.

Commit 3b760c6

Browse files
committed
Merge branch 'main' into min_brightness_filter
2 parents ba55fdf + 74e934e commit 3b760c6

File tree

7 files changed

+113
-1
lines changed

7 files changed

+113
-1
lines changed

modules/cluster_estimation/cluster_estimation_worker.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import os
66
import pathlib
7+
import time
78

89
from modules import detection_in_world
910
from 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+
)

modules/communications/communications_worker.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
)

modules/data_merge/data_merge_worker.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import os
66
import pathlib
77
import queue
8+
import time
89

910
from utilities.workers import queue_proxy_wrapper
1011
from 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+
)

modules/detect_target/detect_target_worker.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import os
66
import pathlib
7+
import time
78

89
from modules import image_and_time
910
from 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+
)

modules/flight_interface/flight_interface_worker.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
)

modules/geolocation/geolocation_worker.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import os
66
import pathlib
7+
import time
78

89
from modules import merged_odometry_detections
910
from 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+
)

modules/video_input/video_input_worker.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
)

0 commit comments

Comments
 (0)