[2023-01-11] What I Learned

동길·2023년 1월 11일
0
post-thumbnail

그라파나(Grafana)

urql과 apollo client의 Memory Leak Issue로 인해 최근 많이 사용하면서 유용함을 느꼈다.
그라파나는 메트릭 데이터 시각화 도구인데, 현재는 간단한 사용법 정도만 알고있다.
그리고 정상적으로 가비지 컬렉터가 돌아갈 때의 그래프는 어떤 형상을 띄는지와 Memory Leak이 생기는 경우의 그래프 차이점을 알 수 있었다.

키바나(Kibana)

마찬가지로 데이터 시각화 도구인데 검색을 통해 에러를 추적할 수 있고, 좋긴 했지만 사실 기본적인 에러는 슬랙에 날라오는 로그를 통해 분석이 되는 편이다.
그리고 사용하기 위해 생각보다 알아야 할 것들이 있었다.
유용한 점은 에러를 검색해서 추적 할 수 있는데, 이게 URL로 검색어나 조건을 가져갈 수 있어서 자주 쓰이는 검색어나 조건은 슬랙 Pin을 활용해 간편히 사용할 수 있었다.
그런데 사용법이 개인적으로 좀 직관적이진 않다.. :(

Apollo Client

오늘 드디어 Apollo Client의 메모리 이슈가 해결된 듯 보였다.
원인은 아폴로 클라이언트의 인스턴스가 생성되고 캐싱이 막 쌓이기 시작하는데, 원래대로라면 사용하지 않는 인스턴스 또는 캐시 데이터 등의 참조가 해제되면서 가비지 컬렉터에 걸려 지워져야 하는데, 이 과정에 문제가 있었던 것 같다. (추정)
다행히도 관련 깃 이슈를 나의 사수가 발견했다.

참고한 Git Issue Link

결론적으로 인스턴스를 새롭게 생성할 때 마다 clearStore 함수를 실행시켜 수동적으로 해결했다.
clearStore는 캐시된 데이터 전체를 지우고 활성화된 쿼리들을 재실행하지 않는다.
근데 활성화된 쿼리를 재실행하지 않는게 무슨 뜻인가 싶어 찾아봤더니 로그인이나 로그아웃을 상태에 따라 세션이 필요한 요청 또는 필요하지 않은 요청이 있을텐데, 이를 확인하지않고 재요청하지 않겠다는 뜻이다.

아쉽게도 이 부분은 아직 더 파악이 필요하다.
로직적으로 세션 정보에 따른 데이터가 분명 필요한 부분이 있는데 현재 작동에 아무런 영향이 없다. 이 부분에 대해선 정보를 찾지 못했다. :(

Reference

thumbnail : 링크

profile
피드백은 언제나 환영합니다. :)

0개의 댓글