mitmproxy websocket_message memory leak 해결하기

Updated on

mitmproxy 를 오래 사용할 경우에 메모리 누수가 있는걸 확인했다.

이건 누수라기보다 좀 애매하긴 한데.

일단 원인은 아래 이슈를 확인하면 된다.

https://github.com/mitmproxy/mitmproxy/issues/6620

def websocket_message(flow: http.HTTPFlow):
	assert flow.websocket is not None  # make type checker happy
	flow.websocket.messages = []

이렇게 websocket_message 에서 메세지를 사용하고나면, messages 를 비워주면 된다.

참고로

def websocket_message(flow: http.HTTPFlow):
	assert flow.websocket is not None  # make type checker happy
	flow.websocket.messages.clear()

이렇게 clear() function 을 사용해도 된다.