본문 바로가기
Dev

APM, JAVA Agent

by lumination 2024. 3. 6.

출처: https://saramin.github.io/2020-03-24-elastic-apm-1/

 

APM

APM은 Application Performance Monitoring의 약어로, Application에 대한 성능정보 및 발생한 Error정보 그리고 Application이 동작중인 서버의 기본적인 Metric정보를 수집 할 수 있는 기능을 지원합니다.
또한 MicroService 환경에서 서비스를 구성하는 여러 Application간의 Request를 하나의 Trace로 묶어서 추적 할 수 있는 분산 Tracing(distributed tracing)에 대한 기능도 지원합니다.
APM은 위와 같이 수집된 여러 데이터를 바탕으로 하여 Application에 지연이 발생하였을때 지연에 대한 병목 구간을 찾아 낼 수 있는 모니터링 서비스 입니다.

형태

 

Java agent

JAVA Agent는 APM 성능 데이터 수집을 위해 필요한 Code들을 Byte Buddy라는 library를 이용하여 Compile된 Application Byte Code에 직접 삽입합니다.
따라서, Agent를 Command Line Parameter로 설정만 해주면 별도의 BizLogic 수정 없이 APM 성능 데이터 수집이 가능 합니다.

'Dev' 카테고리의 다른 글

flask  (0) 2024.04.12
파이썬 flask - redis - celery 구조  (0) 2024.03.14