Java Agent 1.8

v1.8.9

DBConnection Leak 추적시 Connection Close 표시 버그가 수정되었습니다.

profile_dbc_close=true

트랜잭션의 CPU사용량을 추적하기 위해 사용되는 내부 API 가 에이전트 당 3000TPS이상의 환경에서 오버헤드가 있는 것으로 판단되어 옵션을 추가합니다.

trace_cpu_enabled=true

액티브 트랜잭션 수가 300(기본값) 이 넘으면 자동으 Thread Dump를 생성하는 기능을 기본 false로 변경합니다.

thread_dump_enabled=false

v1.8.8

2019-09-12

Socket에서 readtime out이 발생하는경우에 Exception을 추적하기 위한 기능을 추가합니다.

trace_socket_timeout_enabled를 사용하여 기능을 on/off할 수 있습니다.
trace_socket_timeout_enabled=false
socket timeout
Figure 1. Socket Timeout 에러

2019-09-04

Weaving 플러그인 로딩시 메소드의 access 정보를 orginal 메소드의 access로 맞춥니다.

v1.8.7

2019-08-30

플러그인 추가

Akka모니터링을 위한 Weaving 플러그인이 추가되었습니다.

Weaving플러그인은 메일로 문의하면 별도로 제공합니다.

버그수정

  1. 사용자지정 카운터에서 5분 요약 데이터 관련 버그 수정하였습니다.

  2. 쓰로틀링 처리시 안내페이지로의 전달에 대한 버그 수정되었습니다.

v1.8.6

2019-08-20

비즈니스 모니터링 추가

bizmon_enabled=true 옵션이 추가되었습니다. 이 옵션이 whatap.conf에 설정되면 에이전트에서는 profile_basetime에 의해 버려지는 트랜잭션 정보와 액티브트랜잭션 정보를 요약하여 수집 서버로 전송합니다.

bizmon_enabled=true

파일디스크립터 카운트 수집

자바 성능 카운트에서 파일 디스크립터 수를 수집합니다.

버그 픽스

  1. DateUtil에서 영문 목요일 정보 수(Thu)를 수정하였습니다.

  2. SQL을 수집할때 "/"연산이 사용된 경우 누락되는 버그 수정되었습니다.

  3. 비즈니스 모니터링 관련 다수의 버그가 수정되었습니다.

v1.8.5

2019-08-07

Open File Descriptor 모니터

자바 프로세스가 오픈한 file descriptor 수를 모니터링 합니다.

counter_procfd_enabled=true

모니터링을 원하지 않으면 counter_procfd_enabled=false를 설정할 수 있습니다.

 proc_fd : OpenFileDescriptorCount
 proc_fd_max :MaxFileDescriptorCount

v1.8.4

2019-08-05

Heap Old Gen GC 발생 건수 모니터링

Heap Memory 중에서 old-gen 영역에서 발생하는 GC 건수를 별도 지표로 수집합니다.

gc_oldgen_count

Heap Max 모니터링

heap에는 used , total과 더불어 max값이 관리되고 있습니다. -Xmx 옵션을 사용하면 heap max를 수정할수 있습니다.

heap_max

v1.8.3

2019-07-19

트랜잭션 응답 구간별 건수지표 추가

트랜잭션 종료 건수중에서 3초이상 8초이상 종료 건수를 별도로 성능지표로 추가하였습니다.

트랜잭션 over3

3초이상 트랜잭션 건수

트랜잭션 over8

8초이상 트랜잭션 건수

v1.8.2

2019-07-19

트랜잭션 상세 응답 시간 추가

트랜잭션의 응답시간중 SQL,DBC, HTTPCall에 소비된 시간을 측정한 성능지표가 추가되었습니다.

트랜잭션 DB 연결시간

트랜잭션 수행중 DB연결에 사용된 시간의 평균값

트랜잭션 SQL시간

트랜잭션 수행중 SQL 수행에 사용된 시간의 평균값

트랜잭션 HTTPC시간

트랜잭션 수행중 외부 HTTP CAll 수행에 사용된 시간의 평균값

v1.8.1

2019-06-25

Weaving Plugin

파라미터를 가진 생성자에 대한 Weaving이 가능하게 변경

JVM을 위한 상세 성능카운트

Java VM을 위한 상세한 성능카운트를 추가로 수집할 수있습니다.

perfx_java_enabled=true

whatap.conf에 perfx_java_enabled=true가 설정되면 다음과 같은 성능정보를 추가로 수집합니다.

java_memory

heap & nonheap에 대한 메모리 사용량

java_memory_pool

영역별 Heap메모리 사용량

java_gc

Java Heap GarbageCollector 수행 건수와 시간

java_os

Java 시스템 영역에서의 성능 지표들

 OpenFileDescriptorCount, MaxFileDescriptorCount, ProcessCpuTime
 ,CommittedVirtualMemorySize, TotalSwapSpaceSize, FreeSwapSpaceSize
 , FreePhysicalMemorySize, TotalPhysicalMemorySize, SystemCpuLoad,
 ProcessCpuLoad, SystemLoadAverage, AvailableProcessors
perfx_java_enabled=true 상태에서 java_gc 수집만 off하고 싶다면 perf_java_gc_enabled=false 를 설정합니다.
마찬가지로 perfx_java_memory_enabled=false perfx_java_memory_pool_enabled=false perfx_java_os_enabled=false 등의 옵션을 사용 할 수있습니다.

사용자 관심 JMX 성능 카운트

JVM내에서 임의의 JMX path를 지정하여 수집할 수 있습니다.
지정한 Mbean 객체의 Attribute가 성능 카운트 형태로 수집됩니다.
perfx_jmx_enabled=true

perfx_jmx_enabled=true가 설정되면 다음의 Mbean Object 들의 정보가 수집된다. 만약 특정 데이터를 off하려면 해당 옵션을 false로 설정합니다.

Category: tomcat_connector
Option: perfx_tomcat_connector_enabled=true
ObjectName Query: Catalina:type=Connector,*
Category: tomcat_datasource
Option: perfx_tomcat_datasource_enabled=true
ObjectName Query: Catalina:type=DataSource,*
Category: tomcat_threadpool
Option: perfx_tomcat_threadpool_enabled=true
ObjectName Query: Catalina:type=ThreadPool,*
Category: tomcat_executor
Option: perfx_tomcat_executor_enabled=true
ObjectName Query: Catalina:type=Executor,*
Category: java_nio_bufferpool
Option: perfx_java_nio_bufferpool_enabled=true
JMX Query: java.nio:type=BufferPool,*

JMX 모니터링 확장

whatap.conf에 아래와 같이 추가 설정파일을 지정합니다. 여기서는 "myjmx.conf"를 지정하였습니다.

perfx_config=/usr/local/myjmx.conf

myjmx.conf에 모니터링 하고자 하는 ObjectName을 지정하고 키값으로 (ex tomcat_executor) 데이터 카테고리 명을 설정합니다.

myjmx.conf
tomcat_executor=Tomcat:type=Connector,*

v1.8.0

2019-06-25

Weaving Plugin

Java Agent 1.8 부터는 데이터 추적을 커스터마이징하기 위한 Weaving Plugin을 제공합니다.

자세한 내용은 별도 문서로 제공됩니다.

ConfBase 서버

다수의 애플리케이션 인스턴스에 에이전트가 설치되면 설정을 통합 관리할 필요가 발생합니다. 이 문제를 해결하기 위해 ConfBase 에이전트를 추가하였습니다.