jennifer-app-summary
JENNIFER 도메인의 모든 트랜잭션을 애플리케이션(서비스 URL)별로 요약합니다. 호출 건수, 에러 건수, 응답시간 평균과 표준편차, SQL 1회·외부 호출 1회의 평균 시간을 콘솔 X-View 트랜잭션 화면의 애플리케이션 맵과 같은 방식으로 냅니다. 원인 분석의 범위를 애플리케이션으로 좁힐 때 씁니다. jennifer-metrics나 jennifer-problems로 시간대를 찾았다면 그 구간을 정상 구간과 비교해 호출·에러·응답시간이 달라진 애플리케이션을 찾고, 그 트랜잭션을 jennifer-xview로 읽습니다.
- 애플리케이션과 구간마다 한 행입니다. span이 기간을 구간으로 나눕니다(기본 1h). 전후 비교에는 10m 같은 span을 쓰고 _time에 따른 값의 변화를 봅니다.
- 도메인 전체를 요약하며 인스턴스별로 나누지 않습니다(인스턴스별은 jennifer-xview를 쓰세요).
- avg_sql_time과 avg_external_call_time은 트랜잭션당이 아니라 SQL 1회, 호출 1회당 값입니다. 구간을 합칠 때는 calls와 errors를 더하고 avg_response_time은 calls로 가중 평균합니다.
- 기간은 최대 1일이며, 구간 하나가 콘솔 호출 하나입니다.
jennifer-app-summary [profile=값] domain_id=값 [duration=값] [from=값] [to=값] [span=값]
- profile=값
- 선택. JENNIFER 콘솔 접속 프로파일(유형 jennifer-apm-console) 이름입니다. 지정하지 않으면 권한이 있는 콘솔 프로파일을 모두 사용합니다. domain_id는 콘솔마다 다르므로 domain_id를 쓸 때는 프로파일이 하나여야 합니다. 권한이 있는 프로파일이 여럿이면 지정하세요.
- domain_id=값
- 필수. 예: 1000. 요약할 도메인(sid)입니다. jennifer-instances로 확인할 수 있습니다.
- duration=값
- 선택. 예: 10m(최근 10분). 현재 시각까지의 최근 기간으로 s(초), m(분), h(시), d(일) 단위입니다. 기간을 지정하지 않으면 최근 1시간입니다. 최대 1일입니다.
- from=값
- 선택. 기간의 시작, yyyyMMddHHmmss. 뒷자리를 쓰지 않으면 0으로 채웁니다. duration보다 우선합니다.
- to=값
- 선택. 기간의 끝, yyyyMMddHHmmss. 뒷자리를 쓰지 않으면 0으로 채웁니다. 생략하면 현재 시각입니다.
- span=값
- 선택. 예: 10m. 요약 구간의 길이로 m(분), h(시) 단위입니다. 기간을 시작부터 이 길이로 나눠 구간마다 애플리케이션별 행을 냅니다. 기본값은 1h라서 1시간 이하의 기간은 애플리케이션마다 한 행입니다. 구간은 최대 288개입니다.
출력 필드
| 필드 | 타입 | 이름 | 설명 |
|---|---|---|---|
| _time | 날짜 | 구간 시작 | 예: 2026-10-27 03:00:00 |
| end_time | 날짜 | 구간 끝 | 예: 2026-10-27 04:00:00 |
| profile | 문자열 | 접속 프로파일 | 예: jennifer-prod |
| domain_id | 32비트 정수 | 도메인 ID | 예: 1000 |
| application | 문자열 | 애플리케이션 | 예: /api/orders. 서비스 이름(URL)으로, jennifer-xview의 application과 같습니다. |
| calls | 64비트 정수 | 호출 건수 | 예: 2580. 구간 안에 끝난 트랜잭션 수입니다. |
| errors | 64비트 정수 | 에러 건수 | 예: 3. 에러로 끝난 트랜잭션 수입니다. |
| error_rate | 실수 | 에러율 | 예: 0.12. errors / calls를 백분율로 나타낸 값입니다. |
| avg_response_time | 실수 | 평균 응답시간 | 예: 2.94. 트랜잭션당 밀리초입니다. |
| stddev_response_time | 실수 | 응답시간 표준편차 | 예: 3.43. 모표준편차(밀리초)입니다. 평균보다 훨씬 크면 소수의 매우 느린 트랜잭션이 있다는 뜻입니다. |
| total_response_time | 64비트 정수 | 총 응답시간 | 예: 7585. calls × avg_response_time(밀리초)으로 애플리케이션이 쓴 시간의 합입니다. 가장 비용이 큰 것을 찾을 때 이 값으로 정렬합니다. |
| avg_sql_time | 실수 | 평균 SQL 시간 | 예: 1.67. 트랜잭션당이 아니라 SQL 실행 1회당 밀리초입니다. |
| avg_external_call_time | 실수 | 평균 외부 호출 시간 | 예: 98.5. 트랜잭션당이 아니라 외부 호출 1회당 밀리초입니다. |
| abnormal | 불리언 | 비정상 | 예: false. 콘솔이 비정상으로 분류한 애플리케이션입니다(애플리케이션 맵에서 빨간색). |
사용 예
최근 1시간 시간을 가장 많이 쓴 애플리케이션:
jennifer-app-summary domain_id=1000 duration=1h | sort limit=10 -total_response_time | fields application, calls, errors, error_rate, avg_response_time, stddev_response_time, avg_sql_time, avg_external_call_time
장애 시간과 직전 1시간 비교(애플리케이션별):
jennifer-app-summary domain_id=1000 from=20261027020000 to=20261027040000 span=1h | eval period = if(_time >= date("20261027030000", "yyyyMMddHHmmss"), "incident", "baseline") | stats sum(calls) as calls, sum(errors) as errors, sum(total_response_time) as total by application, period | eval avg_rt = round(total / calls, 1)
최근 30분 에러가 난 애플리케이션:
애플리케이션 하나의 10분 단위 추이: