제니퍼 APM

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

jennifer-xview

JENNIFER 도메인의 개별 트랜잭션(X-View 점)을 콘솔의 X-View 분석 화면처럼 검색합니다. 끝난 트랜잭션 하나가 한 행입니다. 원인 분석의 증거 단계에 씁니다. jennifer-metrics, jennifer-problems, jennifer-app-summary, jennifer-errors로 시간대·인스턴스·애플리케이션을 좁힌 뒤, 그 범위의 느리거나 실패한 트랜잭션을 나열하고 시간이 어디에 쓰였는지(response_time 대비 sql_time, fetch_time, external_call_time, cpu_time) 봅니다. 그다음 트랜잭션의 domain_id, txid, 시각을 jennifer-profile에 넘겨 호출 프로파일을 읽습니다.

jennifer-xview [profile=값] domain_id=값 [instance_ids=값] [duration=값] [from=값] [to=값] [min_response_time=값] [errors_only=값] [limit=값]
profile=값
선택. JENNIFER 콘솔 접속 프로파일(유형 jennifer-apm-console) 이름입니다. 지정하지 않으면 권한이 있는 콘솔 프로파일을 모두 사용합니다. domain_id는 콘솔마다 다르므로 domain_id를 쓸 때는 프로파일이 하나여야 합니다. 권한이 있는 프로파일이 여럿이면 지정하세요.
domain_id=값
필수. 예: 1000. 검색할 도메인(sid)입니다. jennifer-instances로 확인할 수 있습니다.
instance_ids=값
선택. 예: 75553,75555. 도메인의 인스턴스 ID(oid)를 쉼표로 구분해 지정합니다. 지정하지 않으면 기간 안에 데이터가 있는 인스턴스를 모두 검색합니다.
duration=값
선택. 예: 10m(최근 10분). 현재 시각까지의 최근 기간으로 s(초), m(분), h(시), d(일) 단위입니다. 기간을 지정하지 않으면 최근 10분입니다. 최대 1일입니다. 트랜잭션은 콘솔이 수집한 시각(collection_time)으로 고릅니다.
from=값
선택. 기간의 시작, yyyyMMddHHmmss. 뒷자리를 쓰지 않으면 0으로 채웁니다. duration보다 우선합니다.
to=값
선택. 기간의 끝, yyyyMMddHHmmss. 뒷자리를 쓰지 않으면 0으로 채웁니다. 생략하면 현재 시각입니다.
min_response_time=값
선택. 예: 3000. 응답시간이 이 값(밀리초) 이상인 트랜잭션만 반환합니다. 기본값은 0(전체)입니다. 콘솔이 걸러 주므로 바쁜 기간의 행 수를 줄이는 방법입니다.
errors_only=값
선택. t 또는 f. t이면 에러로 끝난 트랜잭션만 반환합니다(콘솔의 '예외만 보기' 조건). 기본값은 f입니다.
limit=값
선택. 예: 50000. 반환할 최대 행 수로, 기본값은 10000입니다. 오래된 것부터 오므로 한도에 이르면 기간의 마지막 부분이 빠집니다. 값을 키우기보다 기간을 좁히거나 min_response_time을 올리세요.

참고

  • 기간은 짧게(문제 전후 몇 분) 잡고, 바쁜 기간에는 min_response_time이나 errors_only를 쓰세요. 작은 서버도 10분에 약 6,000건을 기록합니다. 기간은 최대 1일입니다.
  • 행은 콘솔이 수집한 순서(오래된 것부터)로 오며 limit(기본 10000)에서 멈춥니다. 정확히 limit 행이면 잘린 결과입니다. 정렬과 집계는 Logpresso 명령으로 합니다.
  • 소요 시간(response_time, sql_time 등)은 밀리초입니다. _time과 end_time은 트랜잭션 종료, start_time은 시작, collection_time은 콘솔이 수집한 시각(기간 옵션이 고르는 기준)입니다.

출력 필드

필드타입이름설명
_time날짜종료 시각예: 2026-10-27 03:13:59. 트랜잭션이 끝난 시각(에이전트 시계, end_time과 같음)입니다.
profile문자열접속 프로파일예: jennifer-prod
domain_id32비트 정수도메인 ID예: 1000
instance_id64비트 정수인스턴스 ID예: 75553. 트랜잭션을 실행한 인스턴스(oid)입니다.
instance_name문자열인스턴스 이름예: siem-mon-console-1
inst_id64비트 정수인스턴스 키예: 10017. 인스턴스의 콘솔 instId로, 트랜잭션 상세 조회에 쓰입니다.
application문자열애플리케이션예: /api/orders. 서비스 이름(URL)입니다.
txid문자열트랜잭션 ID예: -2271545734455864799. 도메인 안에서 트랜잭션을 가리킵니다. jennifer-profile에 domain_id, 행의 시각과 함께 넘깁니다.
response_time32비트 정수응답시간예: 18719. 밀리초.
sql_time32비트 정수SQL 시간예: 43. SQL 수행에 쓴 밀리초.
fetch_time32비트 정수패치 시간예: 0. SQL 결과 패치에 쓴 밀리초.
external_call_time32비트 정수외부 호출 시간예: 197. 외부 서비스 호출에 쓴 밀리초.
cpu_time32비트 정수CPU 시간예: 26. 밀리초.
frontend_time32비트 정수프론트엔드 시간예: 0. 프론트엔드 모니터링을 쓸 때의 브라우저 시간입니다.
network_time32비트 정수네트워크 시간예: 0. 밀리초.
error_code32비트 정수에러 코드예: 1020. 에러가 없으면 0입니다.
error_name문자열에러 유형예: SQL_EXCEPTION, SERVICE_EXCEPTION, EXTERNALCALL_EXCEPTION, BAD_RESPONSE_TIME_APPLICATION. 에러가 없으면 null입니다.
http_status32비트 정수HTTP 상태예: 200. 기록되지 않았으면 null입니다.
client_ip문자열클라이언트 IP예: 10.10.26.233
client_id문자열클라이언트 ID예: 3109098555655530894. 콘솔의 wmonId입니다.
user_id문자열사용자 ID예: alice. 수집하지 않았으면 null입니다.
guid문자열GUID서비스 사이에 연결된 트랜잭션이 공유하는 전역 ID입니다. 없으면 null입니다.
start_time날짜시작 시각end_time에서 response_time을 뺀 시각입니다.
end_time날짜종료 시각에이전트가 기록한 종료 시각입니다.
collection_time날짜수집 시각콘솔이 트랜잭션을 수집한 시각으로 end_time보다 몇 밀리초 늦습니다. 기간 옵션은 이 시각으로 고르며, 트랜잭션 상세 조회가 트랜잭션을 찾을 때 씁니다.
async불리언비동기예: false
linked불리언연계예: false. 모니터링하는 다른 서비스를 호출했거나 호출받았습니다.
stacked불리언스택 수집예: true. 실행 중 스택 트레이스가 수집되었습니다.

사용 예

최근 10분 가장 느린 트랜잭션:

jennifer-xview domain_id=1000 duration=10m min_response_time=3000 | sort limit=20 -response_time | fields _time, instance_name, application, response_time, sql_time, external_call_time, cpu_time, error_name, txid

느린 트랜잭션의 시간 구성(애플리케이션별):

jennifer-xview domain_id=1000 from=20261027030000 to=20261027031000 min_response_time=1000 | stats count, avg(response_time) as rt, avg(sql_time) as sql, avg(fetch_time) as fetch, avg(external_call_time) as ext, avg(cpu_time) as cpu by application | sort limit=10 -rt

최근 30분 에러 유형·애플리케이션별 건수:

jennifer-xview domain_id=1000 duration=30m errors_only=t | stats count, max(_time) as last_seen by error_name, application, instance_name | sort -count

두 인스턴스의 분당 응답시간:

jennifer-xview domain_id=1000 instance_ids=75553,75555 duration=10m | timechart span=1m avg(response_time) by instance_name