제니퍼 APM

다운로드 4
업데이트 2026. 7. 30.

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_id32비트 정수도메인 ID예: 1000
application문자열애플리케이션예: /api/orders. 서비스 이름(URL)으로, jennifer-xview의 application과 같습니다.
calls64비트 정수호출 건수예: 2580. 구간 안에 끝난 트랜잭션 수입니다.
errors64비트 정수에러 건수예: 3. 에러로 끝난 트랜잭션 수입니다.
error_rate실수에러율예: 0.12. errors / calls를 백분율로 나타낸 값입니다.
avg_response_time실수평균 응답시간예: 2.94. 트랜잭션당 밀리초입니다.
stddev_response_time실수응답시간 표준편차예: 3.43. 모표준편차(밀리초)입니다. 평균보다 훨씬 크면 소수의 매우 느린 트랜잭션이 있다는 뜻입니다.
total_response_time64비트 정수총 응답시간예: 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분 에러가 난 애플리케이션:

jennifer-app-summary domain_id=1000 duration=30m | search errors > 0 | sort -error_rate

애플리케이션 하나의 10분 단위 추이:

jennifer-app-summary domain_id=1000 duration=2h span=10m | search application == "/api/orders" | fields _time, calls, errors, avg_response_time, avg_sql_time