오픈소스로 공개된 GC툴킷은 깃허브에서 다운로드할 수 있고, MIT 라이선스로 제공되며, 로그 파일을 개별 이벤트로 구문 분석하고 그 이벤트에서 데이터를 집계하는 API를 포함한다. 사용자는 자바 GC 로그에 표시된 것처럼 JVM에서 관리하는 메모리 상태에 대한 임의적이고 복잡한 분석을 생성할 수 있다.
8월 초 공개된 GC툴킷은 API, GC 로그 파일 구문, JVM에서 반응형 애플리케이션 개발에 사용되는Vert.x 툴킷에 기반한 메시지 백플레인을 다루는 3가지 자바 모듈로 구성된다. API 모듈은 툴킷의 진입점 역할을 하면서 GC 로그 파일을 몇 가지 메소드 요청으로 분석할 때 Vert.x와 파서의 세부 활용 내역을 숨긴다. 파서 모듈은 강력한 GC 로그 파서로 개발된 정규표현과 코드의 집합이다.
Vert.x 기반 메시징 백플레인은 2가지 메시지 버스를 사용한다. 첫 번째는 GC 파일에서 로그 라인을 스트리밍한다. 이 버스의 리스너는 데이터 소스를 GC 사이클이나 안전 지점으로 나타내는 이벤트로 전환하는 파서다. 분석 대상인 데이터는 개발자가 어떤 것을 원하는지에 따라 달라진다. GC툴킷에는 GC 로그 파일 데이터를 분석하고 캡처하는 어그리게이터/어그리게이션 프레임워크가 있다. 이벤트를 캡처하는 코드를 어그리게이터, 데이터를 분석하는 코드는 어그리게이션이라고 한다.
GC툴킷 배포에 관심이 있는 개발자는 이번 프로젝트를 주제로 한 온라인 토론에 참가할 수 있다. 마이크로소프트 자바 GC 프로젝트 오픈소스는 지난 5월 마이크로소프트 자체 자바 배포판인 오픈JDK 빌드 이후 이루어진 것이다. 마이크로소프트는 애저 클라우드에서도 자바 개발을 지원하고 있다. editor@itworld.co.kr