Skip to content

Commit 2fc5a59

Browse files
Release V1.1.0 (#42)
* (#21) tracer 패키지 위치 변경 * (#22) javaagent 모듈화 * (#22) javaagent 모듈화 * (#22) java-apm-agent 모듈로 이관 * (#22) java-agent 모듈 삭제 * (#21) plugin 계측 sdk 추가 * (#21) agent tracer 로직 변경 local tracer -> global tracer * (#21) spring webmvc plugin 추가 * (#21) jdbc plugin 추가 * (#21) AbstractTypeMatcherInstrumentation 세부적인 클래스 네임 받도록 수정 * [no issue] readme 와 class 라이센스 및 기여자 기록 * (#21) plugin abstract class 로 변경 * [no issue] licence 누락 확인 * (#21) spring, jdbc SPI(Service Provider Interface) 등록 * Release v1.1.0 (#37) * (#23) fix * [no issue] schema 호환성 문제 해결 * [no issue] agent close() 과도한 동시성 로직이 들어감. 이에 대해 refactoring 진행 * [no issue] trace setting 와 plugin load log 기록 순서 변경 * (#21) spring business 모듈 추가 * (#21) spring business 모듈 추가 * (#21) hibernate 계측 plugin 추가 * (#21) plugin-sdk 에 정적 필드를 추가 하여 객체를 공유 하는 기능 추가 * (#21) hibernate gradle include 추가 * (#21) [fix] jdbc 잘못된 계측 수정 인터페이스 계측이 아닌 구현체를 계측 해야됨. * (#21) [refactor] slf4j -> 표준 logger로 변경 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) jdbc 계측 플러그인 support 모듈 구현 * (#26) Trace DTO 스펙 변경 * (#26) Assembler를 통한 Span 노드 재구성 * Feat/broadcast (#25) * feat : broadcast 기능 구현 * refactor : broadcast 기능 개선 * refactor : broadcast 기능 개선 * [no issue] Identification 식별 추상 클래스 추가 * [no issue] agent retry 외부 라이브러리 의존성 격리 * [no issue] span logic no-op으로 null 처리 로직 숨김 * [no issue] FieldMap 동시성 이슈에 대한 lock 작업 * [no issue] exporter 설정 * [no issue] RowMapSupportTest RowMapSupport 역직렬화 테스트 * [no issue] RowMapSupport final 누락 체크 * Refactor/broadcast (#27) * [no issue] refactor : broadcast 기능 개선 및 변경 * [no issue] refactor : 트랜잭션 attributes 예시 추가 * [no issue] refactor : RowMapSupport 객체를 통해 역직렬화 코드로 개선 * [no issue] #27 누락된 부분 및 가독성 재조정 * [no issue] rowMapSupport 예외 처리 변경 * (#28) 통계 서비스 추가 * [no issue] fix : RestDocs payload error 해결 (#29) * [no issue] git ignore update * [no issue] update rest docs * (#28) refactor: pageable parameter 변경 * (#28) test: MetricController 테스트 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: jooq 적용 * (#28) refactor: jooq 환경 변수 주입 * (#28) fix: maxHeapMemoryUsage 변수 double -> int 변경 * [no-issue] refactor: 숫자 가독성 높임 * [no-issue] response status 추가 * [no-issue] ErrorResponse static factory method 로 변경 * (#28) test: rest docs 작성 * [no-issue] docs: statistics api docs 추가 및 docs title 변경 * [no-issue] refactor: channel exception or method abstraction * [no-issue] refactor: byte array decompressor exception * [no-issue] refactor: mvcMvcRequestBuilders -> restDocsRequestBuilders * [no-issue] feat: realtime repository * [no-issue] comment: MetricCollector 변경 * (#30) feat: Sender interface * (#30) feat: discord web hook alarm * [no-issue] refactor: time interval limit * (#30) feat: slack webhook * (#30) feat: slack webhook * [no-issue] feat: view sender * [no-issue] comment: licence * (#30) refactor: slack web-hook pretty message print * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * Refactor/broadcast (#31) * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] refactor : broadcast schedule interval 입력 받는게 아니라 default로 변경 * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] conflict * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no issue] refactor : MetricData domain객체를 API응답 값으로 쓰던 것을 MetricDataResponse 생성하여 변경 * [no issue] conflict * [no issue] conflict --------- Co-authored-by: swager253 <swager253@naver.com> * [no-issue] fix: interval * [no-issue] rename: service transaction method * [no-issue] refactor: agent trace info spec change * [no-issue] refactor: normal lock add * (#30) feat: add alarm control interface method * (#28) feat: add statistics service transaction * (#28) test: statistics service transaction * (#30) feat: alarm enable or disable * (#30) feat: alarm global exception handler * (#30) refactor: alarm message inet deprecated * (#30) test: message maker inet deprecated * (#30) fix: bad grammar update query * [no-issue] feat: add member service * [no-issue] move: webhook, websocket package move * [no-issue] refactor: member id is not null * [no-issue] test: member restdocs impl * [no-issue] rename: MetricControllerAdvice.java -> GlobalControllerAdvice * (#30) feat: Threshold impl * [no-issue] fix: Unterminated dollar quote started at position -> resolve: double quote * [no-issue] refactor: threshold architecture refactoring * [no-issue] refactor: transaction readOnly * [no-issue] feat: alarm rest docs impl * Feat/alram (#32) * (#30) alarm rebase merge * (#30) feat : 임계치에 따른 알람 기능 구현 * (#30) refactor: integrated webhook or sse * [no-issue] feat: add ServerSentEventException global exception handler * (#30) refactor : ViewSender 인터페이스 추가 및 캐시 설정 (#33) * [no-issue] refactor: code reformatting * [no-issue] refactor: code reformatting * [no-issue] move: move message from web hook package to alarm package * [no-issue] refactor: sendAll, asyncSend * [no-issue] refactor: fix sse name * [no-issue] refactor: add comment rest docs instant time UTC * [no-issue] refactor: handle exception return null * [no-issue] refactor: update threshold cache evict * (#30) feat: alarm webhook api * (#30) test: alarm webhook api * (#30) docs: write webhook restdocs * [no-issue] update license comment * (#30) feat: add sse alarm message timestamp * [no-issue] refactor: api guide * (#30) refactor: add final * (#30) feat: alarm loss prevention and dead letter * [no-issue] test: check failed test * [no-issue] docs: update statistics rest docs * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] refactor: delete webhook url * (#30) refactor: optimize bulkSoftDeleteDeadLetter * (#30) refactor: change return object DeadLetterResponse -> DeadLetter * (#30) refactor: Message class to record * (#30) test: dead letter schedule * (#30) remove * [no-issue] refactor: application.yml set webhook url default value * [no-issue] test: MetricStatisticsServiceTest disabled service transaction detail * [no-issue] agent rebuilding v1.1.0 * [no-issue] agent rebuilding v1.1.0 * [no-issue] fix byte buddy ref error * [no-issue] feat: java-agent http-url-connection plugin * [no-issue] feat: register service http-url-connection * [no-issue] feat: http-client plugin * [no-issue] feat: call depth and thread local * [no-issue] refactor: Instrumentor end builder * [no-issue] feat: http-client plugin * [no-issue] remove: hikariCP plugin * [no-issue] comment: classLoaderMatcher no override * [no-issue] refactor: add slf4j * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] feat: span name method * [no-issue] refactor: add call depth * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] test: SpanScope Noop equal * [no-issue] refactor: delete abstract method * [no-issue] feat: servlet plugin * [no-issue] add restClient ex) external api call test * [no-issue] gradle dependencies clear * [no-issue] feat: http client helper classes * [no-issue] feat: add instrumentationName * [no-issue] feat: add instrumentationName * [no-issue] move package * [no-issue] rename class * [no-issue] resetting spi * [no-issue] feat: instrumentationName * [no-issue] move package extension/bootstrap -> extension/ * [no-issue] fix: reflection access public * [no-issue] rename: change method name or comment * [no-issue] feat: add CallDepth getDepth * [no-issue] test: callDepth * [no-issue] refactor: It didn't work as expected, so I removed CallDepth. * [no-issue] refactor: remove import ConfigurableContextInitializer * [no-issue] feat: Add Configurations * [no-issue] feat: Added to extend the matcher's scope to bootstrap. * [no-issue] feat: Redefine location strategy platform, bootstrap * [no-issue] comment: Update comment * [no-issue] feat: Add exporter logging * [no-issue] fix: Add ForAdvice include() extend boot, platform, app area * [no-issue] move: StartUp class module bootstrap to extension * [no-issue] refactor: Add banner mode * [no-issue] test: banner mode * [no-issue] refactor: Change spec JMX collector interface * [no-issue] fix: javax servlet -> jakarta servlet * [no-issue] fix: resolve caffeine cache issue Visit https://github.com/ben-manes/caffeine/wiki/Cleanup * [no-issue] refactor: inject context * [no-issue] refactor: inject context * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] refactor: memory visibility * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] test: binary compress * feat : (#34) /member check 기능 구현 및 주요 기능 테스트 보강 (#35) * (#34) feat : Member Session check 기능 - Member가 Session에 등록되어 있는지, 아직 유효한지에 대한 체크기능 추가 - LoginInterceptor를 통해 Session 확인하여 유효한지 체크 * [no-issue] refactor : extend supported message types and add logging * [no-issue] feat : implement member deletion functionality * [no-issue] test : member check restdocs add * [no-issue] refactor : register clientMap as a bean * [no-issue] refactor : modify SseMessage to contain Message * [no-issue] test : verify if the calculation works as expected threshold * [no-issue] test : verify if deadletter is created when client sends an error * [no-issue] refactor : update to set default values when no input is provided * [no-issue] test : verify if the Ant pattern can filter paths correctly --------- Co-authored-by: 윤광오 <37898720+yungwangoh@users.noreply.github.com> * [no-issue] feat: add spring auto configure * [no-issue] feat: add spring auto configure * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: add zipkin span exporter * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: jul shaded logger plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add observability log * [no-issue] feat: add LogRecord body * [no-issue] deprecated TraceQueue * [no-issue] close alarm event * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] deprecated LogQueue, MetricSender * [no-issue] no usage dead letter * [no-issue] git action v1.1.0 release --------- Co-authored-by: JuSeong1130 <53209324+JuSeong1130@users.noreply.github.com> * Fix: Failed Release v1.1.0 (#38) * (#23) fix * [no issue] schema 호환성 문제 해결 * [no issue] agent close() 과도한 동시성 로직이 들어감. 이에 대해 refactoring 진행 * [no issue] trace setting 와 plugin load log 기록 순서 변경 * (#21) spring business 모듈 추가 * (#21) spring business 모듈 추가 * (#21) hibernate 계측 plugin 추가 * (#21) plugin-sdk 에 정적 필드를 추가 하여 객체를 공유 하는 기능 추가 * (#21) hibernate gradle include 추가 * (#21) [fix] jdbc 잘못된 계측 수정 인터페이스 계측이 아닌 구현체를 계측 해야됨. * (#21) [refactor] slf4j -> 표준 logger로 변경 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) jdbc 계측 플러그인 support 모듈 구현 * (#26) Trace DTO 스펙 변경 * (#26) Assembler를 통한 Span 노드 재구성 * Feat/broadcast (#25) * feat : broadcast 기능 구현 * refactor : broadcast 기능 개선 * refactor : broadcast 기능 개선 * [no issue] Identification 식별 추상 클래스 추가 * [no issue] agent retry 외부 라이브러리 의존성 격리 * [no issue] span logic no-op으로 null 처리 로직 숨김 * [no issue] FieldMap 동시성 이슈에 대한 lock 작업 * [no issue] exporter 설정 * [no issue] RowMapSupportTest RowMapSupport 역직렬화 테스트 * [no issue] RowMapSupport final 누락 체크 * Refactor/broadcast (#27) * [no issue] refactor : broadcast 기능 개선 및 변경 * [no issue] refactor : 트랜잭션 attributes 예시 추가 * [no issue] refactor : RowMapSupport 객체를 통해 역직렬화 코드로 개선 * [no issue] #27 누락된 부분 및 가독성 재조정 * [no issue] rowMapSupport 예외 처리 변경 * (#28) 통계 서비스 추가 * [no issue] fix : RestDocs payload error 해결 (#29) * [no issue] git ignore update * [no issue] update rest docs * (#28) refactor: pageable parameter 변경 * (#28) test: MetricController 테스트 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: jooq 적용 * (#28) refactor: jooq 환경 변수 주입 * (#28) fix: maxHeapMemoryUsage 변수 double -> int 변경 * [no-issue] refactor: 숫자 가독성 높임 * [no-issue] response status 추가 * [no-issue] ErrorResponse static factory method 로 변경 * (#28) test: rest docs 작성 * [no-issue] docs: statistics api docs 추가 및 docs title 변경 * [no-issue] refactor: channel exception or method abstraction * [no-issue] refactor: byte array decompressor exception * [no-issue] refactor: mvcMvcRequestBuilders -> restDocsRequestBuilders * [no-issue] feat: realtime repository * [no-issue] comment: MetricCollector 변경 * (#30) feat: Sender interface * (#30) feat: discord web hook alarm * [no-issue] refactor: time interval limit * (#30) feat: slack webhook * (#30) feat: slack webhook * [no-issue] feat: view sender * [no-issue] comment: licence * (#30) refactor: slack web-hook pretty message print * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * Refactor/broadcast (#31) * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] refactor : broadcast schedule interval 입력 받는게 아니라 default로 변경 * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] conflict * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no issue] refactor : MetricData domain객체를 API응답 값으로 쓰던 것을 MetricDataResponse 생성하여 변경 * [no issue] conflict * [no issue] conflict --------- Co-authored-by: swager253 <swager253@naver.com> * [no-issue] fix: interval * [no-issue] rename: service transaction method * [no-issue] refactor: agent trace info spec change * [no-issue] refactor: normal lock add * (#30) feat: add alarm control interface method * (#28) feat: add statistics service transaction * (#28) test: statistics service transaction * (#30) feat: alarm enable or disable * (#30) feat: alarm global exception handler * (#30) refactor: alarm message inet deprecated * (#30) test: message maker inet deprecated * (#30) fix: bad grammar update query * [no-issue] feat: add member service * [no-issue] move: webhook, websocket package move * [no-issue] refactor: member id is not null * [no-issue] test: member restdocs impl * [no-issue] rename: MetricControllerAdvice.java -> GlobalControllerAdvice * (#30) feat: Threshold impl * [no-issue] fix: Unterminated dollar quote started at position -> resolve: double quote * [no-issue] refactor: threshold architecture refactoring * [no-issue] refactor: transaction readOnly * [no-issue] feat: alarm rest docs impl * Feat/alram (#32) * (#30) alarm rebase merge * (#30) feat : 임계치에 따른 알람 기능 구현 * (#30) refactor: integrated webhook or sse * [no-issue] feat: add ServerSentEventException global exception handler * (#30) refactor : ViewSender 인터페이스 추가 및 캐시 설정 (#33) * [no-issue] refactor: code reformatting * [no-issue] refactor: code reformatting * [no-issue] move: move message from web hook package to alarm package * [no-issue] refactor: sendAll, asyncSend * [no-issue] refactor: fix sse name * [no-issue] refactor: add comment rest docs instant time UTC * [no-issue] refactor: handle exception return null * [no-issue] refactor: update threshold cache evict * (#30) feat: alarm webhook api * (#30) test: alarm webhook api * (#30) docs: write webhook restdocs * [no-issue] update license comment * (#30) feat: add sse alarm message timestamp * [no-issue] refactor: api guide * (#30) refactor: add final * (#30) feat: alarm loss prevention and dead letter * [no-issue] test: check failed test * [no-issue] docs: update statistics rest docs * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] refactor: delete webhook url * (#30) refactor: optimize bulkSoftDeleteDeadLetter * (#30) refactor: change return object DeadLetterResponse -> DeadLetter * (#30) refactor: Message class to record * (#30) test: dead letter schedule * (#30) remove * [no-issue] refactor: application.yml set webhook url default value * [no-issue] test: MetricStatisticsServiceTest disabled service transaction detail * [no-issue] agent rebuilding v1.1.0 * [no-issue] agent rebuilding v1.1.0 * [no-issue] fix byte buddy ref error * [no-issue] feat: java-agent http-url-connection plugin * [no-issue] feat: register service http-url-connection * [no-issue] feat: http-client plugin * [no-issue] feat: call depth and thread local * [no-issue] refactor: Instrumentor end builder * [no-issue] feat: http-client plugin * [no-issue] remove: hikariCP plugin * [no-issue] comment: classLoaderMatcher no override * [no-issue] refactor: add slf4j * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] feat: span name method * [no-issue] refactor: add call depth * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] test: SpanScope Noop equal * [no-issue] refactor: delete abstract method * [no-issue] feat: servlet plugin * [no-issue] add restClient ex) external api call test * [no-issue] gradle dependencies clear * [no-issue] feat: http client helper classes * [no-issue] feat: add instrumentationName * [no-issue] feat: add instrumentationName * [no-issue] move package * [no-issue] rename class * [no-issue] resetting spi * [no-issue] feat: instrumentationName * [no-issue] move package extension/bootstrap -> extension/ * [no-issue] fix: reflection access public * [no-issue] rename: change method name or comment * [no-issue] feat: add CallDepth getDepth * [no-issue] test: callDepth * [no-issue] refactor: It didn't work as expected, so I removed CallDepth. * [no-issue] refactor: remove import ConfigurableContextInitializer * [no-issue] feat: Add Configurations * [no-issue] feat: Added to extend the matcher's scope to bootstrap. * [no-issue] feat: Redefine location strategy platform, bootstrap * [no-issue] comment: Update comment * [no-issue] feat: Add exporter logging * [no-issue] fix: Add ForAdvice include() extend boot, platform, app area * [no-issue] move: StartUp class module bootstrap to extension * [no-issue] refactor: Add banner mode * [no-issue] test: banner mode * [no-issue] refactor: Change spec JMX collector interface * [no-issue] fix: javax servlet -> jakarta servlet * [no-issue] fix: resolve caffeine cache issue Visit https://github.com/ben-manes/caffeine/wiki/Cleanup * [no-issue] refactor: inject context * [no-issue] refactor: inject context * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] refactor: memory visibility * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] test: binary compress * feat : (#34) /member check 기능 구현 및 주요 기능 테스트 보강 (#35) * (#34) feat : Member Session check 기능 - Member가 Session에 등록되어 있는지, 아직 유효한지에 대한 체크기능 추가 - LoginInterceptor를 통해 Session 확인하여 유효한지 체크 * [no-issue] refactor : extend supported message types and add logging * [no-issue] feat : implement member deletion functionality * [no-issue] test : member check restdocs add * [no-issue] refactor : register clientMap as a bean * [no-issue] refactor : modify SseMessage to contain Message * [no-issue] test : verify if the calculation works as expected threshold * [no-issue] test : verify if deadletter is created when client sends an error * [no-issue] refactor : update to set default values when no input is provided * [no-issue] test : verify if the Ant pattern can filter paths correctly --------- Co-authored-by: 윤광오 <37898720+yungwangoh@users.noreply.github.com> * [no-issue] feat: add spring auto configure * [no-issue] feat: add spring auto configure * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: add zipkin span exporter * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: jul shaded logger plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add observability log * [no-issue] feat: add LogRecord body * [no-issue] deprecated TraceQueue * [no-issue] close alarm event * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] deprecated LogQueue, MetricSender * [no-issue] no usage dead letter * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release --------- Co-authored-by: JuSeong1130 <53209324+JuSeong1130@users.noreply.github.com> * Fix: Failed Release v1.1.0 (#39) * (#23) fix * [no issue] schema 호환성 문제 해결 * [no issue] agent close() 과도한 동시성 로직이 들어감. 이에 대해 refactoring 진행 * [no issue] trace setting 와 plugin load log 기록 순서 변경 * (#21) spring business 모듈 추가 * (#21) spring business 모듈 추가 * (#21) hibernate 계측 plugin 추가 * (#21) plugin-sdk 에 정적 필드를 추가 하여 객체를 공유 하는 기능 추가 * (#21) hibernate gradle include 추가 * (#21) [fix] jdbc 잘못된 계측 수정 인터페이스 계측이 아닌 구현체를 계측 해야됨. * (#21) [refactor] slf4j -> 표준 logger로 변경 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) jdbc 계측 플러그인 support 모듈 구현 * (#26) Trace DTO 스펙 변경 * (#26) Assembler를 통한 Span 노드 재구성 * Feat/broadcast (#25) * feat : broadcast 기능 구현 * refactor : broadcast 기능 개선 * refactor : broadcast 기능 개선 * [no issue] Identification 식별 추상 클래스 추가 * [no issue] agent retry 외부 라이브러리 의존성 격리 * [no issue] span logic no-op으로 null 처리 로직 숨김 * [no issue] FieldMap 동시성 이슈에 대한 lock 작업 * [no issue] exporter 설정 * [no issue] RowMapSupportTest RowMapSupport 역직렬화 테스트 * [no issue] RowMapSupport final 누락 체크 * Refactor/broadcast (#27) * [no issue] refactor : broadcast 기능 개선 및 변경 * [no issue] refactor : 트랜잭션 attributes 예시 추가 * [no issue] refactor : RowMapSupport 객체를 통해 역직렬화 코드로 개선 * [no issue] #27 누락된 부분 및 가독성 재조정 * [no issue] rowMapSupport 예외 처리 변경 * (#28) 통계 서비스 추가 * [no issue] fix : RestDocs payload error 해결 (#29) * [no issue] git ignore update * [no issue] update rest docs * (#28) refactor: pageable parameter 변경 * (#28) test: MetricController 테스트 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: jooq 적용 * (#28) refactor: jooq 환경 변수 주입 * (#28) fix: maxHeapMemoryUsage 변수 double -> int 변경 * [no-issue] refactor: 숫자 가독성 높임 * [no-issue] response status 추가 * [no-issue] ErrorResponse static factory method 로 변경 * (#28) test: rest docs 작성 * [no-issue] docs: statistics api docs 추가 및 docs title 변경 * [no-issue] refactor: channel exception or method abstraction * [no-issue] refactor: byte array decompressor exception * [no-issue] refactor: mvcMvcRequestBuilders -> restDocsRequestBuilders * [no-issue] feat: realtime repository * [no-issue] comment: MetricCollector 변경 * (#30) feat: Sender interface * (#30) feat: discord web hook alarm * [no-issue] refactor: time interval limit * (#30) feat: slack webhook * (#30) feat: slack webhook * [no-issue] feat: view sender * [no-issue] comment: licence * (#30) refactor: slack web-hook pretty message print * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * Refactor/broadcast (#31) * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] refactor : broadcast schedule interval 입력 받는게 아니라 default로 변경 * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] conflict * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no issue] refactor : MetricData domain객체를 API응답 값으로 쓰던 것을 MetricDataResponse 생성하여 변경 * [no issue] conflict * [no issue] conflict --------- Co-authored-by: swager253 <swager253@naver.com> * [no-issue] fix: interval * [no-issue] rename: service transaction method * [no-issue] refactor: agent trace info spec change * [no-issue] refactor: normal lock add * (#30) feat: add alarm control interface method * (#28) feat: add statistics service transaction * (#28) test: statistics service transaction * (#30) feat: alarm enable or disable * (#30) feat: alarm global exception handler * (#30) refactor: alarm message inet deprecated * (#30) test: message maker inet deprecated * (#30) fix: bad grammar update query * [no-issue] feat: add member service * [no-issue] move: webhook, websocket package move * [no-issue] refactor: member id is not null * [no-issue] test: member restdocs impl * [no-issue] rename: MetricControllerAdvice.java -> GlobalControllerAdvice * (#30) feat: Threshold impl * [no-issue] fix: Unterminated dollar quote started at position -> resolve: double quote * [no-issue] refactor: threshold architecture refactoring * [no-issue] refactor: transaction readOnly * [no-issue] feat: alarm rest docs impl * Feat/alram (#32) * (#30) alarm rebase merge * (#30) feat : 임계치에 따른 알람 기능 구현 * (#30) refactor: integrated webhook or sse * [no-issue] feat: add ServerSentEventException global exception handler * (#30) refactor : ViewSender 인터페이스 추가 및 캐시 설정 (#33) * [no-issue] refactor: code reformatting * [no-issue] refactor: code reformatting * [no-issue] move: move message from web hook package to alarm package * [no-issue] refactor: sendAll, asyncSend * [no-issue] refactor: fix sse name * [no-issue] refactor: add comment rest docs instant time UTC * [no-issue] refactor: handle exception return null * [no-issue] refactor: update threshold cache evict * (#30) feat: alarm webhook api * (#30) test: alarm webhook api * (#30) docs: write webhook restdocs * [no-issue] update license comment * (#30) feat: add sse alarm message timestamp * [no-issue] refactor: api guide * (#30) refactor: add final * (#30) feat: alarm loss prevention and dead letter * [no-issue] test: check failed test * [no-issue] docs: update statistics rest docs * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] refactor: delete webhook url * (#30) refactor: optimize bulkSoftDeleteDeadLetter * (#30) refactor: change return object DeadLetterResponse -> DeadLetter * (#30) refactor: Message class to record * (#30) test: dead letter schedule * (#30) remove * [no-issue] refactor: application.yml set webhook url default value * [no-issue] test: MetricStatisticsServiceTest disabled service transaction detail * [no-issue] agent rebuilding v1.1.0 * [no-issue] agent rebuilding v1.1.0 * [no-issue] fix byte buddy ref error * [no-issue] feat: java-agent http-url-connection plugin * [no-issue] feat: register service http-url-connection * [no-issue] feat: http-client plugin * [no-issue] feat: call depth and thread local * [no-issue] refactor: Instrumentor end builder * [no-issue] feat: http-client plugin * [no-issue] remove: hikariCP plugin * [no-issue] comment: classLoaderMatcher no override * [no-issue] refactor: add slf4j * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] feat: span name method * [no-issue] refactor: add call depth * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] test: SpanScope Noop equal * [no-issue] refactor: delete abstract method * [no-issue] feat: servlet plugin * [no-issue] add restClient ex) external api call test * [no-issue] gradle dependencies clear * [no-issue] feat: http client helper classes * [no-issue] feat: add instrumentationName * [no-issue] feat: add instrumentationName * [no-issue] move package * [no-issue] rename class * [no-issue] resetting spi * [no-issue] feat: instrumentationName * [no-issue] move package extension/bootstrap -> extension/ * [no-issue] fix: reflection access public * [no-issue] rename: change method name or comment * [no-issue] feat: add CallDepth getDepth * [no-issue] test: callDepth * [no-issue] refactor: It didn't work as expected, so I removed CallDepth. * [no-issue] refactor: remove import ConfigurableContextInitializer * [no-issue] feat: Add Configurations * [no-issue] feat: Added to extend the matcher's scope to bootstrap. * [no-issue] feat: Redefine location strategy platform, bootstrap * [no-issue] comment: Update comment * [no-issue] feat: Add exporter logging * [no-issue] fix: Add ForAdvice include() extend boot, platform, app area * [no-issue] move: StartUp class module bootstrap to extension * [no-issue] refactor: Add banner mode * [no-issue] test: banner mode * [no-issue] refactor: Change spec JMX collector interface * [no-issue] fix: javax servlet -> jakarta servlet * [no-issue] fix: resolve caffeine cache issue Visit https://github.com/ben-manes/caffeine/wiki/Cleanup * [no-issue] refactor: inject context * [no-issue] refactor: inject context * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] refactor: memory visibility * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] test: binary compress * feat : (#34) /member check 기능 구현 및 주요 기능 테스트 보강 (#35) * (#34) feat : Member Session check 기능 - Member가 Session에 등록되어 있는지, 아직 유효한지에 대한 체크기능 추가 - LoginInterceptor를 통해 Session 확인하여 유효한지 체크 * [no-issue] refactor : extend supported message types and add logging * [no-issue] feat : implement member deletion functionality * [no-issue] test : member check restdocs add * [no-issue] refactor : register clientMap as a bean * [no-issue] refactor : modify SseMessage to contain Message * [no-issue] test : verify if the calculation works as expected threshold * [no-issue] test : verify if deadletter is created when client sends an error * [no-issue] refactor : update to set default values when no input is provided * [no-issue] test : verify if the Ant pattern can filter paths correctly --------- Co-authored-by: 윤광오 <37898720+yungwangoh@users.noreply.github.com> * [no-issue] feat: add spring auto configure * [no-issue] feat: add spring auto configure * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: add zipkin span exporter * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: jul shaded logger plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add observability log * [no-issue] feat: add LogRecord body * [no-issue] deprecated TraceQueue * [no-issue] close alarm event * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] deprecated LogQueue, MetricSender * [no-issue] no usage dead letter * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release --------- Co-authored-by: JuSeong1130 <53209324+JuSeong1130@users.noreply.github.com> * Develop v1.1.0 (#40) * (#23) fix * [no issue] schema 호환성 문제 해결 * [no issue] agent close() 과도한 동시성 로직이 들어감. 이에 대해 refactoring 진행 * [no issue] trace setting 와 plugin load log 기록 순서 변경 * (#21) spring business 모듈 추가 * (#21) spring business 모듈 추가 * (#21) hibernate 계측 plugin 추가 * (#21) plugin-sdk 에 정적 필드를 추가 하여 객체를 공유 하는 기능 추가 * (#21) hibernate gradle include 추가 * (#21) [fix] jdbc 잘못된 계측 수정 인터페이스 계측이 아닌 구현체를 계측 해야됨. * (#21) [refactor] slf4j -> 표준 logger로 변경 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) jdbc 계측 플러그인 support 모듈 구현 * (#26) Trace DTO 스펙 변경 * (#26) Assembler를 통한 Span 노드 재구성 * Feat/broadcast (#25) * feat : broadcast 기능 구현 * refactor : broadcast 기능 개선 * refactor : broadcast 기능 개선 * [no issue] Identification 식별 추상 클래스 추가 * [no issue] agent retry 외부 라이브러리 의존성 격리 * [no issue] span logic no-op으로 null 처리 로직 숨김 * [no issue] FieldMap 동시성 이슈에 대한 lock 작업 * [no issue] exporter 설정 * [no issue] RowMapSupportTest RowMapSupport 역직렬화 테스트 * [no issue] RowMapSupport final 누락 체크 * Refactor/broadcast (#27) * [no issue] refactor : broadcast 기능 개선 및 변경 * [no issue] refactor : 트랜잭션 attributes 예시 추가 * [no issue] refactor : RowMapSupport 객체를 통해 역직렬화 코드로 개선 * [no issue] #27 누락된 부분 및 가독성 재조정 * [no issue] rowMapSupport 예외 처리 변경 * (#28) 통계 서비스 추가 * [no issue] fix : RestDocs payload error 해결 (#29) * [no issue] git ignore update * [no issue] update rest docs * (#28) refactor: pageable parameter 변경 * (#28) test: MetricController 테스트 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: jooq 적용 * (#28) refactor: jooq 환경 변수 주입 * (#28) fix: maxHeapMemoryUsage 변수 double -> int 변경 * [no-issue] refactor: 숫자 가독성 높임 * [no-issue] response status 추가 * [no-issue] ErrorResponse static factory method 로 변경 * (#28) test: rest docs 작성 * [no-issue] docs: statistics api docs 추가 및 docs title 변경 * [no-issue] refactor: channel exception or method abstraction * [no-issue] refactor: byte array decompressor exception * [no-issue] refactor: mvcMvcRequestBuilders -> restDocsRequestBuilders * [no-issue] feat: realtime repository * [no-issue] comment: MetricCollector 변경 * (#30) feat: Sender interface * (#30) feat: discord web hook alarm * [no-issue] refactor: time interval limit * (#30) feat: slack webhook * (#30) feat: slack webhook * [no-issue] feat: view sender * [no-issue] comment: licence * (#30) refactor: slack web-hook pretty message print * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * Refactor/broadcast (#31) * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] refactor : broadcast schedule interval 입력 받는게 아니라 default로 변경 * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] conflict * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no issue] refactor : MetricData domain객체를 API응답 값으로 쓰던 것을 MetricDataResponse 생성하여 변경 * [no issue] conflict * [no issue] conflict --------- Co-authored-by: swager253 <swager253@naver.com> * [no-issue] fix: interval * [no-issue] rename: service transaction method * [no-issue] refactor: agent trace info spec change * [no-issue] refactor: normal lock add * (#30) feat: add alarm control interface method * (#28) feat: add statistics service transaction * (#28) test: statistics service transaction * (#30) feat: alarm enable or disable * (#30) feat: alarm global exception handler * (#30) refactor: alarm message inet deprecated * (#30) test: message maker inet deprecated * (#30) fix: bad grammar update query * [no-issue] feat: add member service * [no-issue] move: webhook, websocket package move * [no-issue] refactor: member id is not null * [no-issue] test: member restdocs impl * [no-issue] rename: MetricControllerAdvice.java -> GlobalControllerAdvice * (#30) feat: Threshold impl * [no-issue] fix: Unterminated dollar quote started at position -> resolve: double quote * [no-issue] refactor: threshold architecture refactoring * [no-issue] refactor: transaction readOnly * [no-issue] feat: alarm rest docs impl * Feat/alram (#32) * (#30) alarm rebase merge * (#30) feat : 임계치에 따른 알람 기능 구현 * (#30) refactor: integrated webhook or sse * [no-issue] feat: add ServerSentEventException global exception handler * (#30) refactor : ViewSender 인터페이스 추가 및 캐시 설정 (#33) * [no-issue] refactor: code reformatting * [no-issue] refactor: code reformatting * [no-issue] move: move message from web hook package to alarm package * [no-issue] refactor: sendAll, asyncSend * [no-issue] refactor: fix sse name * [no-issue] refactor: add comment rest docs instant time UTC * [no-issue] refactor: handle exception return null * [no-issue] refactor: update threshold cache evict * (#30) feat: alarm webhook api * (#30) test: alarm webhook api * (#30) docs: write webhook restdocs * [no-issue] update license comment * (#30) feat: add sse alarm message timestamp * [no-issue] refactor: api guide * (#30) refactor: add final * (#30) feat: alarm loss prevention and dead letter * [no-issue] test: check failed test * [no-issue] docs: update statistics rest docs * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] refactor: delete webhook url * (#30) refactor: optimize bulkSoftDeleteDeadLetter * (#30) refactor: change return object DeadLetterResponse -> DeadLetter * (#30) refactor: Message class to record * (#30) test: dead letter schedule * (#30) remove * [no-issue] refactor: application.yml set webhook url default value * [no-issue] test: MetricStatisticsServiceTest disabled service transaction detail * [no-issue] agent rebuilding v1.1.0 * [no-issue] agent rebuilding v1.1.0 * [no-issue] fix byte buddy ref error * [no-issue] feat: java-agent http-url-connection plugin * [no-issue] feat: register service http-url-connection * [no-issue] feat: http-client plugin * [no-issue] feat: call depth and thread local * [no-issue] refactor: Instrumentor end builder * [no-issue] feat: http-client plugin * [no-issue] remove: hikariCP plugin * [no-issue] comment: classLoaderMatcher no override * [no-issue] refactor: add slf4j * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] feat: span name method * [no-issue] refactor: add call depth * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] test: SpanScope Noop equal * [no-issue] refactor: delete abstract method * [no-issue] feat: servlet plugin * [no-issue] add restClient ex) external api call test * [no-issue] gradle dependencies clear * [no-issue] feat: http client helper classes * [no-issue] feat: add instrumentationName * [no-issue] feat: add instrumentationName * [no-issue] move package * [no-issue] rename class * [no-issue] resetting spi * [no-issue] feat: instrumentationName * [no-issue] move package extension/bootstrap -> extension/ * [no-issue] fix: reflection access public * [no-issue] rename: change method name or comment * [no-issue] feat: add CallDepth getDepth * [no-issue] test: callDepth * [no-issue] refactor: It didn't work as expected, so I removed CallDepth. * [no-issue] refactor: remove import ConfigurableContextInitializer * [no-issue] feat: Add Configurations * [no-issue] feat: Added to extend the matcher's scope to bootstrap. * [no-issue] feat: Redefine location strategy platform, bootstrap * [no-issue] comment: Update comment * [no-issue] feat: Add exporter logging * [no-issue] fix: Add ForAdvice include() extend boot, platform, app area * [no-issue] move: StartUp class module bootstrap to extension * [no-issue] refactor: Add banner mode * [no-issue] test: banner mode * [no-issue] refactor: Change spec JMX collector interface * [no-issue] fix: javax servlet -> jakarta servlet * [no-issue] fix: resolve caffeine cache issue Visit https://github.com/ben-manes/caffeine/wiki/Cleanup * [no-issue] refactor: inject context * [no-issue] refactor: inject context * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] refactor: memory visibility * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] test: binary compress * feat : (#34) /member check 기능 구현 및 주요 기능 테스트 보강 (#35) * (#34) feat : Member Session check 기능 - Member가 Session에 등록되어 있는지, 아직 유효한지에 대한 체크기능 추가 - LoginInterceptor를 통해 Session 확인하여 유효한지 체크 * [no-issue] refactor : extend supported message types and add logging * [no-issue] feat : implement member deletion functionality * [no-issue] test : member check restdocs add * [no-issue] refactor : register clientMap as a bean * [no-issue] refactor : modify SseMessage to contain Message * [no-issue] test : verify if the calculation works as expected threshold * [no-issue] test : verify if deadletter is created when client sends an error * [no-issue] refactor : update to set default values when no input is provided * [no-issue] test : verify if the Ant pattern can filter paths correctly --------- Co-authored-by: 윤광오 <37898720+yungwangoh@users.noreply.github.com> * [no-issue] feat: add spring auto configure * [no-issue] feat: add spring auto configure * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: add zipkin span exporter * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: jul shaded logger plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add observability log * [no-issue] feat: add LogRecord body * [no-issue] deprecated TraceQueue * [no-issue] close alarm event * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] deprecated LogQueue, MetricSender * [no-issue] no usage dead letter * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release --------- Co-authored-by: JuSeong1130 <53209324+JuSeong1130@users.noreply.github.com> * Fix: Failed Release v1.1.0 (#41) * (#23) fix * [no issue] schema 호환성 문제 해결 * [no issue] agent close() 과도한 동시성 로직이 들어감. 이에 대해 refactoring 진행 * [no issue] trace setting 와 plugin load log 기록 순서 변경 * (#21) spring business 모듈 추가 * (#21) spring business 모듈 추가 * (#21) hibernate 계측 plugin 추가 * (#21) plugin-sdk 에 정적 필드를 추가 하여 객체를 공유 하는 기능 추가 * (#21) hibernate gradle include 추가 * (#21) [fix] jdbc 잘못된 계측 수정 인터페이스 계측이 아닌 구현체를 계측 해야됨. * (#21) [refactor] slf4j -> 표준 logger로 변경 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) class loading 문제 미해결로 인한 롤백 * (#21) jdbc 계측 플러그인 support 모듈 구현 * (#26) Trace DTO 스펙 변경 * (#26) Assembler를 통한 Span 노드 재구성 * Feat/broadcast (#25) * feat : broadcast 기능 구현 * refactor : broadcast 기능 개선 * refactor : broadcast 기능 개선 * [no issue] Identification 식별 추상 클래스 추가 * [no issue] agent retry 외부 라이브러리 의존성 격리 * [no issue] span logic no-op으로 null 처리 로직 숨김 * [no issue] FieldMap 동시성 이슈에 대한 lock 작업 * [no issue] exporter 설정 * [no issue] RowMapSupportTest RowMapSupport 역직렬화 테스트 * [no issue] RowMapSupport final 누락 체크 * Refactor/broadcast (#27) * [no issue] refactor : broadcast 기능 개선 및 변경 * [no issue] refactor : 트랜잭션 attributes 예시 추가 * [no issue] refactor : RowMapSupport 객체를 통해 역직렬화 코드로 개선 * [no issue] #27 누락된 부분 및 가독성 재조정 * [no issue] rowMapSupport 예외 처리 변경 * (#28) 통계 서비스 추가 * [no issue] fix : RestDocs payload error 해결 (#29) * [no issue] git ignore update * [no issue] update rest docs * (#28) refactor: pageable parameter 변경 * (#28) test: MetricController 테스트 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: query 보조 유틸 클래스 생성 * (#28) feat: jooq 적용 * (#28) refactor: jooq 환경 변수 주입 * (#28) fix: maxHeapMemoryUsage 변수 double -> int 변경 * [no-issue] refactor: 숫자 가독성 높임 * [no-issue] response status 추가 * [no-issue] ErrorResponse static factory method 로 변경 * (#28) test: rest docs 작성 * [no-issue] docs: statistics api docs 추가 및 docs title 변경 * [no-issue] refactor: channel exception or method abstraction * [no-issue] refactor: byte array decompressor exception * [no-issue] refactor: mvcMvcRequestBuilders -> restDocsRequestBuilders * [no-issue] feat: realtime repository * [no-issue] comment: MetricCollector 변경 * (#30) feat: Sender interface * (#30) feat: discord web hook alarm * [no-issue] refactor: time interval limit * (#30) feat: slack webhook * (#30) feat: slack webhook * [no-issue] feat: view sender * [no-issue] comment: licence * (#30) refactor: slack web-hook pretty message print * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * Refactor/broadcast (#31) * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] refactor : broadcast schedule interval 입력 받는게 아니라 default로 변경 * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no-issue] feat: service transaction cacheable * (#30) feat: server sent event Alarm, View sender 추가 * [no-issue] refactor: final parameter * (#28) refactor: service transaction spec 변경 * [no issue] refactor : api 문서 변경 * [no issue] refactor : boradcast validation 추가 및 schedule default 값 설정 * [no issue] conflict * [no issue] refactor : broadcast 요구사항 변경에 의한 쿼리 변경 및 응답값 변경 * [no issue] refactor : MetricData domain객체를 API응답 값으로 쓰던 것을 MetricDataResponse 생성하여 변경 * [no issue] conflict * [no issue] conflict --------- Co-authored-by: swager253 <swager253@naver.com> * [no-issue] fix: interval * [no-issue] rename: service transaction method * [no-issue] refactor: agent trace info spec change * [no-issue] refactor: normal lock add * (#30) feat: add alarm control interface method * (#28) feat: add statistics service transaction * (#28) test: statistics service transaction * (#30) feat: alarm enable or disable * (#30) feat: alarm global exception handler * (#30) refactor: alarm message inet deprecated * (#30) test: message maker inet deprecated * (#30) fix: bad grammar update query * [no-issue] feat: add member service * [no-issue] move: webhook, websocket package move * [no-issue] refactor: member id is not null * [no-issue] test: member restdocs impl * [no-issue] rename: MetricControllerAdvice.java -> GlobalControllerAdvice * (#30) feat: Threshold impl * [no-issue] fix: Unterminated dollar quote started at position -> resolve: double quote * [no-issue] refactor: threshold architecture refactoring * [no-issue] refactor: transaction readOnly * [no-issue] feat: alarm rest docs impl * Feat/alram (#32) * (#30) alarm rebase merge * (#30) feat : 임계치에 따른 알람 기능 구현 * (#30) refactor: integrated webhook or sse * [no-issue] feat: add ServerSentEventException global exception handler * (#30) refactor : ViewSender 인터페이스 추가 및 캐시 설정 (#33) * [no-issue] refactor: code reformatting * [no-issue] refactor: code reformatting * [no-issue] move: move message from web hook package to alarm package * [no-issue] refactor: sendAll, asyncSend * [no-issue] refactor: fix sse name * [no-issue] refactor: add comment rest docs instant time UTC * [no-issue] refactor: handle exception return null * [no-issue] refactor: update threshold cache evict * (#30) feat: alarm webhook api * (#30) test: alarm webhook api * (#30) docs: write webhook restdocs * [no-issue] update license comment * (#30) feat: add sse alarm message timestamp * [no-issue] refactor: api guide * (#30) refactor: add final * (#30) feat: alarm loss prevention and dead letter * [no-issue] test: check failed test * [no-issue] docs: update statistics rest docs * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] docs: publish API docs to GitHub Pages * [no-issue] refactor: delete webhook url * (#30) refactor: optimize bulkSoftDeleteDeadLetter * (#30) refactor: change return object DeadLetterResponse -> DeadLetter * (#30) refactor: Message class to record * (#30) test: dead letter schedule * (#30) remove * [no-issue] refactor: application.yml set webhook url default value * [no-issue] test: MetricStatisticsServiceTest disabled service transaction detail * [no-issue] agent rebuilding v1.1.0 * [no-issue] agent rebuilding v1.1.0 * [no-issue] fix byte buddy ref error * [no-issue] feat: java-agent http-url-connection plugin * [no-issue] feat: register service http-url-connection * [no-issue] feat: http-client plugin * [no-issue] feat: call depth and thread local * [no-issue] refactor: Instrumentor end builder * [no-issue] feat: http-client plugin * [no-issue] remove: hikariCP plugin * [no-issue] comment: classLoaderMatcher no override * [no-issue] refactor: add slf4j * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] feat: span name method * [no-issue] refactor: add call depth * [no-issue] feat: servlet plugin * [no-issue] feat: servlet plugin * [no-issue] test: SpanScope Noop equal * [no-issue] refactor: delete abstract method * [no-issue] feat: servlet plugin * [no-issue] add restClient ex) external api call test * [no-issue] gradle dependencies clear * [no-issue] feat: http client helper classes * [no-issue] feat: add instrumentationName * [no-issue] feat: add instrumentationName * [no-issue] move package * [no-issue] rename class * [no-issue] resetting spi * [no-issue] feat: instrumentationName * [no-issue] move package extension/bootstrap -> extension/ * [no-issue] fix: reflection access public * [no-issue] rename: change method name or comment * [no-issue] feat: add CallDepth getDepth * [no-issue] test: callDepth * [no-issue] refactor: It didn't work as expected, so I removed CallDepth. * [no-issue] refactor: remove import ConfigurableContextInitializer * [no-issue] feat: Add Configurations * [no-issue] feat: Added to extend the matcher's scope to bootstrap. * [no-issue] feat: Redefine location strategy platform, bootstrap * [no-issue] comment: Update comment * [no-issue] feat: Add exporter logging * [no-issue] fix: Add ForAdvice include() extend boot, platform, app area * [no-issue] move: StartUp class module bootstrap to extension * [no-issue] refactor: Add banner mode * [no-issue] test: banner mode * [no-issue] refactor: Change spec JMX collector interface * [no-issue] fix: javax servlet -> jakarta servlet * [no-issue] fix: resolve caffeine cache issue Visit https://github.com/ben-manes/caffeine/wiki/Cleanup * [no-issue] refactor: inject context * [no-issue] refactor: inject context * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] refactor: memory visibility * [no-issue] refactor: ScheduleExecutorService -> TaskScheduler * [no-issue] test: binary compress * feat : (#34) /member check 기능 구현 및 주요 기능 테스트 보강 (#35) * (#34) feat : Member Session check 기능 - Member가 Session에 등록되어 있는지, 아직 유효한지에 대한 체크기능 추가 - LoginInterceptor를 통해 Session 확인하여 유효한지 체크 * [no-issue] refactor : extend supported message types and add logging * [no-issue] feat : implement member deletion functionality * [no-issue] test : member check restdocs add * [no-issue] refactor : register clientMap as a bean * [no-issue] refactor : modify SseMessage to contain Message * [no-issue] test : verify if the calculation works as expected threshold * [no-issue] test : verify if deadletter is created when client sends an error * [no-issue] refactor : update to set default values when no input is provided * [no-issue] test : verify if the Ant pattern can filter paths correctly --------- Co-authored-by: 윤광오 <37898720+yungwangoh@users.noreply.github.com> * [no-issue] feat: add spring auto configure * [no-issue] feat: add spring auto configure * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: add zipkin span exporter * [no-issue] feat: add logger instrumentation plugin * [no-issue] feat: jul shaded logger plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add logback instrumentation plugin * [no-issue] feat: add observability log * [no-issue] feat: add LogRecord body * [no-issue] deprecated TraceQueue * [no-issue] close alarm event * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] docs: Traffic hunter v1.1.0 readme * [no-issue] deprecated LogQueue, MetricSender * [no-issue] no usage dead letter * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release --------- Co-authored-by: JuSeong1130 <53209324+JuSeong1130@users.noreply.github.com> * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release * [no-issue] git action v1.1.0 release --------- Co-authored-by: JuSeong1130 <53209324+JuSeong1130@users.noreply.github.com>
1 parent e1036ce commit 2fc5a59

File tree

447 files changed

+21836
-3279
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

447 files changed

+21836
-3279
lines changed

.github/release-drafter-config.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name-template: 'v$RESOLVED_VERSION'
2+
tag-template: 'v$RESOLVED_VERSION'
3+
categories:
4+
- title: 'Features'
5+
label: 'enhancement'
6+
- title: 'Fixes'
7+
label: 'bug'
8+
- title: 'Etcetera'
9+
label: 'documentation'
10+
change-template: '- $TITLE #$NUMBER @$AUTHOR '
11+
template: |
12+
## The changes in this version are as follows.
13+
---
14+
$CHANGES
15+
no-changes-template: 'No changes'
16+
version-resolver:
17+
major:
18+
labels:
19+
- '✨ major'
20+
minor:
21+
labels:
22+
- '✨ minor'
23+
patch:
24+
labels:
25+
- '- '✨ patch'
26+
default: patch

.github/workflows/release.yml

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,29 @@
88
name: Java CI/CD with Gradle
99

1010
on:
11+
pull_request:
12+
types:
13+
- opened
14+
- reopened
15+
- synchronize
16+
- edited
1117
push:
1218
branches:
1319
- 'v*'
20+
- 'master'
1421

1522
jobs:
1623
build:
1724
runs-on: self-hosted
1825
permissions:
1926
contents: write
2027

28+
env:
29+
DB_IP: ${{ secrets.DB_IP }}
30+
DB_NAME: ${{ secrets.DB_NAME }}
31+
USER_NAME: ${{ secrets.USER_NAME }}
32+
PASSWORD: ${{ secrets.PASSWORD }}
33+
2134
steps:
2235
- uses: actions/checkout@v4
2336

@@ -30,8 +43,14 @@ jobs:
3043
- name: Setup Gradle
3144
uses: gradle/actions/setup-gradle@v4.0.0
3245

46+
- name: Set environment for jOOQ generation
47+
run: |
48+
echo "DB_URL=${{ secrets.DB_URL }}" >> $GITHUB_ENV
49+
echo "USER_NAME=${{ secrets.USER_NAME }}" >> $GITHUB_ENV
50+
echo "PASSWORD=${{ secrets.PASSWORD }}" >> $GITHUB_ENV
51+
3352
- name: Build java-agent
34-
run: ./gradlew :java-agent:shadowJar
53+
run: ./gradlew :java-apm-agent:java-agent:shadowJar
3554

3655
- name: Build server
3756
run: ./gradlew :server:build
@@ -65,34 +84,17 @@ jobs:
6584
with:
6685
tag: ${{ github.ref_name }}
6786
name: Release ${{ github.ref_name }}
68-
body: |
69-
## 🚀 Traffic-Hunter Release: ${{ github.ref_name }}
70-
71-
### 📝 Overview
72-
Traffic-Hunter is an Application Performance Monitoring (APM) tool designed to provide lightweight and efficient performance monitoring for small-scale projects.
73-
74-
### 🔑 Key Features
75-
- `Real-Time Monitoring`: Capture and visualize application metrics and transaction logs in real-time.
76-
- `Easy Configuration`: Easily configure the agent using a simple YAML file, making setup straightforward and user-friendly.
77-
- `Efficient Data Storage`: Leverages [**TimescaleDB**](https://www.timescale.com/) for efficient storage and querying of time-series data, enabling high-performance analytics on metrics and traces.
78-
- `Visualization`: This APM leverages [**Grafana**](https://grafana.com/docs/grafana/latest/) for powerful and customizable visualization of metrics and transaction logs, enabling real-time insights and easy integration into your observability stack.
79-
- `Zero-Code`: Traffic Hunter Agent uses **Java Instrumentation** to modify bytecode at runtime, requiring no code changes from users. Simply attach the agent, and it automatically tracks metrics and traces with zero configuration.
80-
81-
### 📦 Installation
82-
- [**Quick-start**](https://github.com/yungwangoh/traffic_hunter/wiki/Quick%E2%80%90Start)
83-
84-
### 🐛 Known Issues
85-
- Java versions below 21 are not supported.
86-
87-
### 🔮 Future Plans
88-
- Distributed tracing support.
89-
- We plan to provide various agent plugins.
90-
- We plan to transition from WebSocket to gRPC.
91-
- Additional language support for Python and Node.js agents.
92-
9387
draft: false
9488
prerelease: false
9589
token: ${{ secrets.GITHUB_TOKEN }}
9690
artifacts: |
97-
**/traffic-hunter-*.jar
91+
**/traffichunter-*.jar
9892
93+
release-drafter:
94+
runs-on: ubuntu-latest
95+
steps:
96+
- uses: release-drafter/release-drafter@v5
97+
with:
98+
config-name: release-drafter-config.yml
99+
env:
100+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@ out/
3535

3636
### VS Code ###
3737
.vscode/
38+
gradle.properties

README.md

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@
22

33
## Latest Release 🚀
44

5-
The pre-release version is v1.0.0.
5+
The release version is v1.1.0.
66

7+
- 2025/04/25 - 1.1.0 version
78
- 2024/12/30 - 1.0.0 version
89

9-
### Notes
10+
## Note
11+
12+
About traffic-hunter v1.1.0
1013

11-
- Agent that is v1.0.0 supports only `spring framework 6.x` and `boot 3.x`
14+
- Not supported distributed trace
15+
- We were unable to integrate observability due to the absence of Traffic Hunter Visualization. We will complete and provide the visualization shortly.
16+
- For the time being, **Zipkin** should be used in an in-memory environment. If a **Zipkin** environment is already set up, feel free to use it. Otherwise, use the **in-memory** setup for simple performance testing. We will improve the convenience in the next version—stay tuned!
1217

1318
## Intro. Traffic-Hunter
1419

@@ -36,31 +41,53 @@ The pre-release version is v1.0.0.
3641

3742
## Overview 👀
3843

39-
- **Application Health Check** - cpu, heap memory, thread, web server, dbcp (database connection pool)
44+
Traffic-Hunter provides full observability support. While you currently need to build your traces using Zipkin,
45+
we’ll soon introduce [**traffic‑hunter‑visualization**](https://github.com/traffic-hunter/traffic-hunter-visualization) to eliminate that inconvenience.
46+
47+
- **Application Metric** - cpu, heap memory, thread, web server, dbcp (database connection pool)
4048

4149
<img width="1440" alt="스크린샷 2024-12-12 오후 10 52 04" src="https://github.com/user-attachments/assets/18866da9-8b64-4ea8-a703-18e23b61d756" />
4250

43-
- **Transaction Logs** - Transaction logs track application requests in real-time, recording executed methods and related information.
51+
- **Trace** - Trace track application requests in real-time, recording executed methods and related information. (Support zipkin)
52+
53+
![log.png](doc/image/trace.jpeg)
4454

45-
<img width="1421" alt="스크린샷 2024-12-12 오후 10 55 37" src="https://github.com/user-attachments/assets/35b09f7e-caf2-4d58-9912-3efefd56bb28" />
55+
- **Logs** - Logs from multiple applications can be centrally managed to enable efficient logging.
56+
57+
![trace.jpeg](doc/image/log.png)
4658

4759
## Version Compatibility 👏
4860

49-
| Java Version | Agent | Server | Notes |
50-
|--------------|-----------------|----------------|-------------------------------------------|
51-
| 21 | ✅ Supported | ✅ Supported | Includes support for advanced features like virtual threads |
61+
| Java Version | Agent | Server | Notes |
62+
|--------------|------------------|----------------|-------|
63+
| 21+ | ✅ Supported | ✅ Supported | |
64+
5265

5366
### Notes
5467
- Java versions below 21 are **not supported**.
5568
- For optimal performance and access to the latest features, use Java 21.
5669
- Ensure both the agent and the server are running compatible Java versions.
5770

71+
## Supported Instrumentation Plugin
72+
73+
| Instrumentation Plugin | Version | Note |
74+
|------------------------|----------|------------------------------------------------------|
75+
| Servlet | 6.0.0+ | Jakarta servlet |
76+
| Spring web-mvc | 6.2.0+ | |
77+
| Spring boot | 3.2.0+ | Supported RestClient,<br/>Not Supported RestTemplate |
78+
| JDBC | Java 21+ | |
79+
| HttpClient | Java 21+ | |
80+
| HttpUrlConnection | Java 21+ | |
81+
| Hibernate | 6.0.0+ | LinkageError Issue, <br/>Not Support |
82+
| Logger | Java 21+ | java.util.Logging |
83+
| LogBack | 1.5.0+ | ch.qos.logback |
84+
5885
## License
5986

6087
```text
6188
The MIT License
6289
63-
Copyright (c) 2024 yungwang-o
90+
Copyright (c) 2024 traffic-hunter.org
6491
6592
Permission is hereby granted, free of charge, to any person obtaining a copy
6693
of this software and associated documentation files (the "Software"), to deal

build.gradle

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,10 @@
11
plugins {
22
id 'java'
3-
id 'org.springframework.boot' version '3.3.4'
4-
id 'io.spring.dependency-management' version '1.1.6'
53
}
64

7-
group = 'ygo'
5+
group = 'org.traffichunter'
86
version = '0.0.1-SNAPSHOT'
97

10-
java {
11-
toolchain {
12-
languageVersion = JavaLanguageVersion.of(21)
13-
}
14-
}
15-
16-
configurations {
17-
compileOnly {
18-
extendsFrom annotationProcessor
19-
}
20-
}
21-
228
repositories {
239
mavenCentral()
2410
}

doc/image/log.png

280 KB
Loading

doc/image/trace.jpeg

142 KB
Loading

java-agent/build.gradle

Lines changed: 0 additions & 60 deletions
This file was deleted.

0 commit comments

Comments
 (0)