Bạn:
- dev dự án hiện tại đã nhiều tháng.
- Nhận được 1 dự án nào đó muốn refactor.
Cũng là bạn:
- Muốn xóa bớt code.
- Kiểm tra xem hệ thống đang chậm chỗ nào.
Lúc này bạn có thể tạo 1 hàm để làm decorator như hàm bên dưới. Dữ liệu nhận được bao gồm:
- thời điểm gọi hàm.
- thời gian để hàm đó xử lý.
Bạn có thể insert vào đâu đó để dễ tra soát sau này.
Nếu hàm đó trong 6 tháng không được gọi, bạn có đủ can đảm xóa code ?
Nếu là tôi thì tôi xóa thẳng tay đấy ;)
import time
import inspect
def measure_elapsed_time(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
elapsed_time = end_time - start_time
print(f"Function {func.__name__} start_time {start_time:.4f} elapsed time: {elapsed_time:.4f} seconds")
return result
return wrapper
@measure_elapsed_time
def function1():
time.sleep(1)
@measure_elapsed_time
def function2():
time.sleep(2)
function1()
function2()
function1()
Output
Function function1 start_time 1685429650.9167 elapsed time: 1.0011 seconds
Function function2 start_time 1685429651.9179 elapsed time: 2.0010 seconds
Function function1 start_time 1685429653.9189 elapsed time: 1.0004 seconds
Article Categories:
dev