통계 화면 추가
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
# API Gateway 통계 화면
|
||||
|
||||
## 개요
|
||||
|
||||
API Gateway의 분단위/시간별 처리 통계를 조회하는 관리 화면입니다.
|
||||
|
||||
## 파일 구조
|
||||
|
||||
```
|
||||
com.eactive.ext.kjb.statistics/
|
||||
├── ApiStatsMinuteController.java # 분단위 통계 Controller
|
||||
├── ApiStatsMinuteService.java # 분단위 통계 Service
|
||||
├── ApiStatsHourController.java # 시간별 통계 Controller
|
||||
├── ApiStatsHourService.java # 시간별 통계 Service
|
||||
├── entity/
|
||||
│ ├── ApiStatsMinute.java # 분단위 통계 Entity
|
||||
│ ├── ApiStatsMinuteId.java # 분단위 통계 복합키
|
||||
│ ├── ApiStatsHour.java # 시간별 통계 Entity
|
||||
│ └── ApiStatsHourId.java # 시간별 통계 복합키
|
||||
├── repository/
|
||||
│ ├── ApiStatsMinuteRepository.java
|
||||
│ └── ApiStatsHourRepository.java
|
||||
├── ui/
|
||||
│ ├── ApiStatsUI.java # 통계 UI DTO
|
||||
│ └── ApiStatsSearch.java # 검색조건 DTO
|
||||
├── mapping/
|
||||
│ └── ApiStatsUIMapper.java # Entity ↔ UI 매핑
|
||||
└── README.md
|
||||
|
||||
JSP 화면:
|
||||
WebContent/jsp/kjb/statistics/
|
||||
├── apiStatsMinuteMan.jsp # 분단위 통계 화면
|
||||
└── apiStatsHourMan.jsp # 시간별 통계 화면
|
||||
```
|
||||
|
||||
## URL
|
||||
|
||||
| 화면 | URL |
|
||||
|------|-----|
|
||||
| 분단위 통계 | `/kjb/statistics/apiStatsMinuteMan.view` |
|
||||
| 시간별 통계 | `/kjb/statistics/apiStatsHourMan.view` |
|
||||
|
||||
## 테이블
|
||||
|
||||
| 테이블명 | 설명 |
|
||||
|----------|------|
|
||||
| API_STATS_MINUTE | 분단위 통계 |
|
||||
| API_STATS_HOUR | 시간별 통계 |
|
||||
|
||||
## 복합키 구성
|
||||
|
||||
- statTime (통계 시간)
|
||||
- apiName (API명)
|
||||
- gwInstanceId (Gateway 인스턴스 ID)
|
||||
- bizDivCode (업무구분코드)
|
||||
- clientId (클라이언트 ID)
|
||||
- inboundAdapter (Inbound Adapter)
|
||||
- outboundAdapter (Outbound Adapter)
|
||||
|
||||
## 메트릭
|
||||
|
||||
### 건수 메트릭
|
||||
- totalCnt: 총 처리 건수
|
||||
- successCnt: 성공 건수
|
||||
- timeoutCnt: Timeout 오류 건수
|
||||
- systemErrCnt: 시스템 오류 건수
|
||||
- bizErrCnt: 업무 오류 건수
|
||||
- seq900TimeoutCnt: 로그시퀀스900 Timeout 건수
|
||||
- seq900SystemErrCnt: 로그시퀀스900 시스템 오류 건수
|
||||
- seq900BizErrCnt: 로그시퀀스900 업무 오류 건수
|
||||
|
||||
### 응답시간 메트릭 (ms)
|
||||
- avgRespTime: 평균 응답시간
|
||||
- minRespTime: 최소 응답시간
|
||||
- maxRespTime: 최대 응답시간
|
||||
- p50RespTime: 50 백분위 응답시간
|
||||
- p95RespTime: 95 백분위 응답시간
|
||||
|
||||
## Multi-tenancy
|
||||
|
||||
API Gateway 통계는 `APIGW` 스키마에 저장됩니다.
|
||||
Controller에서 `DataSourceContextHolder`를 사용하여 스키마를 전환합니다.
|
||||
|
||||
```java
|
||||
DataSourceContextHolder.setDataSourceType(
|
||||
DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.APIGW));
|
||||
```
|
||||
|
||||
## 검색 조건
|
||||
|
||||
- 조회기간 (시작~종료)
|
||||
- API명 (like 검색)
|
||||
- Gateway 인스턴스 ID
|
||||
- 업무구분코드 (like 검색)
|
||||
- 클라이언트 ID (like 검색)
|
||||
|
||||
## 기술 스택
|
||||
|
||||
- JPA + QueryDSL
|
||||
- MapStruct (Entity ↔ UI 매핑)
|
||||
- Spring MVC (ResponseEntity)
|
||||
- jqGrid (목록 화면)
|
||||
Reference in New Issue
Block a user