Lantern(랜턴)은 안드로이드 어플리케이션의 성능 측정/분석 해주는 APM(Application Performance Management) 솔루션입니다. 소프트웨어 마에스트로 7기로 활동할 때 진행 했던 단기 프로젝트입니다. 현재 이 프로젝트가 모티브가 되어 IMQA 솔루션(ONYCOM사)이 만들어졌습니다.

제가 맡았던 분야는 Android / Linux 성능 분석 기법과 프론트 엔드를 담당하였습니다.

Android 를 Linux 위의 JVM 으로 접근하여 프로세스 단위로서의 성능 측정과 JVM 관점에서의 성능 지표를 수집하고 가공하여 어플리케이션의 성능 병목 지점과 유저의 활동 트래킹 등을 제공할 수 있도록 아이디어와 구현을 맡았습니다. 또한 네트워크와 실행 소스의 동적 분석을 위해 gradle 을 해킹하여 apk 빌드 과정에서 간편하게 성능 수집용 코드를 넣게 되었습니다.

프론트에서는 사용자가 한 눈에 볼 수 있는 UI/UX 를 구현하였습니다. D3.js 를 이용하여 필요한 그래프를 만들었습니다. 또한 여러 기기, OS 버전 등의 필터링을 인터렉션하게 구현하였습니다.