Java Agent v2.0
v2.0_55
2021-08-20
아웃바운드 호출의 실시간 정보를 구간별 수집 설정 추가
진행중인 트랜잭션의 아웃바운드 호출 (sql, http call)의 실시간 정보를 구간별로 수집하기 위한 기능을 추가하였습니다. 에이전트 설정에 actx_slice_meter_enabled
를 추가하여 기능을 사용할 수 있습니다.
actx_slice_meter_enabled=true
v2.0_53
2021-08-20
에이전트 설정 오타 수정
기존 hook_serivce_ignore_methods
에이전트 설정 오타를 hook_service_ignore_methods
로 수정하였습니다.
hook_serivce_ignore_methods # before
hook_service_ignore_methods # after
v2.0_52
2021-08-02
URL 정규화 기능 추가
URL정규화를 위해 스켄된 파일 목록을 저장하고 애플리케이션 재시작 때 다시 사용하도록 기능을 추가하였습니다.
keep_normalize_enabled=true
keep_normalize_filename=$oname
[oname].urls
라는 이름으로 url패턴 텍스트를 저장합니다.
URL 정규화 기능 오류 수정
클래스의 private 함수에 URL 매핑을 설정한 경우에도 URL 정규화가 가능하도록 오류를 수정하였습니다.
@RequestMapping(value = "/api/calls")
@RestController
public class ItemController {
@GetMapping(value = "/items")
private String getItems() {
return "item";
}
}
v2.0_50
2021-07-13
URL 정규화 기능 오류 수정
클래스 상속관계를 활용하여 URL 매핑을 설정한 경우에도 URL 정규화가 가능하도록 오류를 수정하였습니다.
@RequestMapping(value = "/api/calls")
@RestController
public class ParentController {
}
...
@RestController
public class ChildController extends ParentController {
@GetMapping(value = "/child-first/{id}")
public ResponseEntity<?> findItemById(@PathVariable(value = "id") long id) {
return ResponseEntity.ok().body("result");
}
}
v2.0_39
2021-06-24
sigar 모둘의 디스크 사용량을 보정하였습니다. 0.78 => 78.0
v2.0_38
TX 서비스 별 apdex, 응답시간 표준편차 수집
서비스 URL별 apdex와 표준편차 지표를 수집하도록 변경되었습니다. 단, 화면에서 데이터를 조회는 프런트의 추가개발이 완료된 후 가능합니다.
LogSink데이터수집
로그데이터를 수집하는 기능이 추가되었습니다.
v2.0_36
custid 매핑 규칙
custid는 개발자나 다른 프로그램에 의해 생성된 추적키를 의미합니다. 기본적으로 custid는 String type입니다. custid는 자동으로 와탭의 mtid로 변환됩니다. 변환 규칙은 다음과 같습니다.
if (custid가 숫자)
mtid = parseLong(custid)
else
mtid = hash64(custid)
v2.0_34
Java 9 이상의 환경에서 HeapHisto 조회와 Native Thread Dump 기능 버그 수정
Java 9이상에서 HeapHisto와 Thread Dump 기능이 동작하지 않았는데 에이전트의 버그를 수정하였습니다.
stat_useragent_enabled 옵션 추가
UserAgent 통계 정보를 수집할때 가부를 설정할 할 수 있도록 옵션을 추가 하였습니다.
# default: true
stat_useragent_enabled=true
설정이름 오류 수정
custom_trace_header_key
옵션 명칭에 틀린 철자 수정하였습니다.
Lambda함수 BCI 제외 수정
lambda 함수에 대해 instrument 대상에서 제외되었던 문제를 수정하였습니다.
SQLException 통계를 수집방식 개선
SQLException 에러는 통계 수집시 sqlcode 별로 수집되는데 SQLException을 상속 받은 에러 클래스에 대해서도 같이 적용되도록 변경하였습니다.
v2.0_32
Custom Pool 카운트 추적 옵션 추가
Custom Pool을 추적할때 메소드 설정 옵션 custom_pool_method_total
이 추가 되었습니다. custom_pool_method_idle
과 custom_pool_method_total
중 하나만 설정하면 됩니다.
custom_pool_id=myPool
custom_pool_method_active=getActiveConnection
custom_pool_method_idle=getIdleConnection
custom_pool_method_total=getTotalConnection
버그수정
Weaving 컴포넌트를 사용하여 HttpCall을 추적한경우 Status 에러 선택이 동작하지 않는 버그 수정하였습니다. 관련 옵션은 다음과 같습니다.
httpc_status_ignore
httpc_status_error_enable
httpc_status_ignore_set
v2.0_31
Spring Cloud Gateway 추적
Spring Cloud Gateway의 트랜잭션을 추적하기 위해서는 다음과 같은 옵션을 설정하고 재기동합니다.
weaving_reserved=webflux-5.2,spring-cloud-gateway-2.2
v2.0_30
커스텀 Connection Pool Count 추적을 위한 옵션 추가
기 정의되지 않은 클래스들을 Pool 사이즈를 카운팅하기 위한 옵션이 추가되었습니다.
custom_pool_id=myPool
custom_pool_method_active=getActiveConnection
custom_pool_method_idle=getIdleConnection
custom_pool_id
는 custom_pool_classes
에 설정된 값과 일치해야 합니다.
일반적으로 다음과 같이 설정됩니다.
CustomPoolCounter 설정 예
custom_pool_classes=myPool@com.mydb.MyDataSource
custom_pool_id=myPool
custom_pool_method_active=getActiveConnection
custom_pool_method_idle=getIdleConnection
"myPool"이라는 id에 custom_pool 설정이 적용됩니다.
Custom Pool의 정보를 조회하면서 에러가 발생하면 1시간에 한번씩 로그에 기록됩니다.
컨넥션 풀 클래스 HOOK 옵션을 분리
컨넥션 풀 클래스를 Instrument를 결정하는 옵션과 실제 데이터를 수집하는 옵션을 분리했습니다.
hook_hikari_pool_enabled = true
hook_dbcp_pool_enabled = true
hook_tomcat_pool_enabled = true
hook_weblogic_pool_enabled = true
hook_jeus_pool_enabled = true
hook_jboss_pool_enabled = true
hook_jedis_pool_enabled = true
hook_hybris_pool_enabled = true
hook_c3p0_pool_enabled = true
hook_xxx
는 자바 프로세스가 재기동 되기 전에 설정되어야하지만 데이터를 수집하는 옵션 (ex, hikari_pool_enabled
)은 실행 중에 변경이 가능합니다.
v2.0_27
내부 에러 처리 클래스 인스턴스변경
와탭 내부에서는 에러 정보를 효과적으로 수집하기 위해 와탭에서 정의한 에러 클래스를 사용하고 있습니다. 이 에러 클래스들을 인스턴스를 관리하는 클래스를 추가하였습니다.
외부 기능적으로 이전 버전과 차이는 없습니다. JVM 버그가 의심되는 에러가 발견되어 회피 목적으로 변경하였습니다.
Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class whatap.error.CONNECTION_OPEN_FAIL
알티베이스 드라이버 추적 버그
알티베이스 JDBC드라이버를 추적할때 연결 오류가 나는 문제가 발견되어 수정하였습니다. Connection jdbc url를 조회하면서 발생하는 문제로 관련 추적을 off하는 옵션도 같이 추가했습니다.
jdbc_url_elabled=true
해당값을 false
로 변경하면 jdbc연결 정보를 추적하지 않습니다.
v2.0_26
액티브스택 수집 최적화
에이전트 tps에 따라 액티브 스택 수집 최적화 옵션 자동 적용 기능을 추가 했습니다.
auto_active_stack_count=true
-
TPS < 100
whatap.confactive_stack_count = 50