이전 항목: 트랜잭션 추적 창 인쇄다음 항목: 트랜잭션 추적 정보 저장 및 내보내기


저장된 이벤트 쿼리

트랜잭션 추적 세션 결과는 자동으로 트랜잭션 이벤트 데이터베이스에 저장됩니다. 트랜잭션 이벤트에는 중단을 포함한(Introscope Error Detector를 설치한 경우) 트랜잭션 추적 및 오류가 포함됩니다. 트랜잭션 이벤트 데이터베이스에는 자동 트랜잭션 추적 샘플링에 설명된 대로 Introscope에 의해 자동으로 샘플링된 트랜잭션 추적이 포함됩니다. 또한 사용자가 직접 실행한 트랜잭션 추적 세션의 결과도 포함됩니다.

트랜잭션 이벤트 데이터베이스는 다음 유형의 쿼리를 지원합니다.

참고: 쿼리할 데이터가 존재하도록 하려면 기록 쿼리를 사용하기 전에 트랜잭션 추적 세션을 실행해야 합니다.

쿼리 구문

아래 섹션에서는 "기록 쿼리" 기능을 사용하여 저장된 오류를 쿼리하는 방법을 설명합니다. 쿼리 기능을 사용할 경우 다음을 유의하십시오.

기록 이벤트 쿼리

기록 트랜잭션 이벤트를 쿼리하려면

  1. "Workstation" > "기록 이벤트 쿼리"를 선택합니다.

    "기록 쿼리 뷰어"가 열립니다.

    "쿼리" 필드의 드롭다운에는 이 세션 또는 동일한 Workstation 사용자의 이전 세션에서 사용한 최대 12개의 이전 쿼리가 표시됩니다. 이를 통해 저장된 검색 중 하나를 다시 입력할 필요 없이 선택할 수 있습니다.

    팁: 기본적으로 필드에는 최대 12개의 검색이 저장됩니다. IntroscopeWorkstation.properties의 introscope.workstation.historical.query.history.limit 속성을 편집하여 필드에 저장되는 검색 수를 변경할 수 있습니다.

  2. "쿼리" 필드에 다음을 조합하여 입력합니다.
  3. 시간 범위를 기준으로 쿼리를 필터링하려면 "시간 범위" 옵션을 사용합니다. "시간 범위" 옵션의 사용 방법에 대해서는 기록 데이터 보기를 참조하십시오.

    시간 범위를 선택하지 않으면 쿼리가 기본값인 "모두"를 사용하며 필터를 적용하지 않습니다.

  4. "Go"(이동)를 클릭합니다.

    쿼리에 일치하는 트랜잭션이 "기록 쿼리" 창에 표시되며 그 형식은 트랜잭션 추적 뷰어와 비슷합니다. 자세한 내용은 트랜잭션 추적 뷰어 사용을 참조하십시오.

참고: 500개의 이벤트만 볼 수 있습니다. 쿼리에 일치하는 이벤트가 500개를 초과하면 가장 오래된 500개가 표시됩니다.

쿼리 옵션 및 구문

쿼리는 Lucene 정규식 구문을 사용하여 텍스트 문자열을 찾고 대체합니다. Lucene 구문에 대한 자세한 내용을 보려면 Lucene 웹 사이트(lucene.apache.org)에서 "query syntax"(쿼리 구문)으로 검색해 보십시오.

필드

설명

agent

검색을 특정 에이전트가 보고한 이벤트로 제한합니다.

agent:ControlledRangeAgent

도메인

검색을 특정 도메인의 구성 요소와 관련된 이벤트로 제한합니다.

domain:AcmeWest

fullAgent

검색을 전체 경로로 지정된 특정 에이전트가 보고한 이벤트로 제한합니다.

domain|process|host|agent

fullAgent:AcmeWest| Custom Metric Host|
ControlledRange
Agent

host

검색을 특정 호스트에서 발생한 이벤트로 제한합니다.

host:Wmiddle01

process

검색을 특정 응용 프로그램의 구성 요소와 관련된 오류로 제한합니다.

process:Custom Metric Host

root

검색을 메트릭 경로로 지정된 특정 구성 요소와 연관된 이벤트로 제한합니다.

root:servlets|accountServlet

type

쿼리 결과에 포함할 이벤트의 유형을 지정합니다.

errorsnapshot - 검색을 오류 이벤트로 제한합니다.

normal - 사용자가 시작한 트랜잭션 추적에서 캡처된 트랜잭션 이벤트를 반환합니다.

sampled - Introscope의 기본 트랜잭션 샘플링으로 인해 캡처된 트랜잭션 이벤트를 반환합니다.

whatsinteresting - 응용 프로그램 개요 추론 값이 변경될 때 생성되는 "주목할 사항 이벤트"를 반환합니다. 자세한 내용은 주목할 사항 이벤트를 참조하십시오.

이러한 유형의 결과에 대한 "유형" 열에는 각각 E, T, R 및 WI의 코드가 지정됩니다. 이 코드 집합은 라이브 모드의 트랜잭션 추적 뷰어에서 사용할 수 있는 코드와 약간 다릅니다. 트랜잭션 추적 뷰어 사용을 참조하십시오.

type:errorsnapshot

type:normal

type:sampled

type:whatsinteresting

url

검색을 지정된 트랜잭션 URL 경로 접두사와 연관된 이벤트로 제한합니다.

경로 접두사는 호스트 이름 뒤에 오는 URL 부분입니다. 다음 URL을 예로 들겠습니다.

http://burger1.com/bWar/burgerServlet?
ViewItem&category=11776&item=55562630&rd=1

여기서 경로 접두사는 다음과 같습니다.

/bWar/burgerServlet

url:/bWar/burgerServlet

urlParams

검색을 지정된 트랜잭션 URL 매개 변수와 연관된 이벤트로 제한합니다.

URL 매개 변수는 URL에서 물음표(?) 뒤에 옵니다. 다음 URL을 예로 들겠습니다.

http://ubuy.com/ws/shoppingServlet?
category=734&item=3772&tc=photo

여기서 URL 매개 변수 부분은 다음과 같습니다.

?category=734&item=3772&tc=photo

참고: urlParams는 와일드카드 문자로 시작할 수 없습니다.

urlParams:category=734*

사용자

검색을 지정된 사용자 이름과 연관된 트랜잭션에 대한 이벤트로 제한합니다.

user:jdoe

message

검색을 지정된 메시지와 연관된 이벤트로 제한합니다.

 

traceDataCreationType

데이터가 다음 유형 중 하나인지 여부에 따라 검색을 제한합니다.

0 = 밀리초 데이터(기본값)

1 = 마이크로초 데이터

2 = 나노초 데이터

duration 및 startTime 쿼리 키워드는 이 키워드와 함께만 사용해야 합니다.

 

duration

검색을 이벤트 기간으로 제한합니다. traceDataCreationType 키워드와 함께 사용합니다.

traceDataCreationType을 1 또는 2로 설정한 경우 "duration"을 "durationinnanos"로 대체합니다.

 

startTime

검색을 이벤트 시작 시간으로 제한합니다. traceDataCreationType 키워드와 함께 사용합니다.

traceDataCreationType을 1 또는 2로 설정한 경우 "startTime"을 "starttimeinnanos"로 대체합니다.

 

 

componentsNotShown

검색을 지정된 구성 요소가 표시되지 않은 이벤트로 제한합니다.

 

durationencoded

정의 제공되지 않음

 

time

검색을 지정된 시간 이전 또는 이후 이벤트로 제한합니다.

 

traceID

검색을 지정된 추적 ID의 이벤트로 제한합니다.

traceID:1340419311156\:3957

참고: 두 번째 콜론(:) 바로 앞에 백슬래시(\)가 필요합니다.

특수 문자 사용

다음의 특수 문자가 쿼리에 포함되는 경우 Lucene 구문에서는 해당 특수 문자를 백슬래시(\) 문자로 이스케이프할 수 있습니다.

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

예를 들어 (1+1):2를 검색하려면 다음 쿼리를 사용합니다.

\(1\+1\)\:2

참고: *(별표) 및 ?(물음표) 문자는 쿼리 시작 부분에 사용할 수 없습니다.

비슷한 이벤트 쿼리

Introscope에서는 선택된 이벤트와 비슷한 이벤트를 쿼리할 수 있습니다. 예를 들어 비슷한 이벤트란 응답 시간이 서로 다른 동일한 구성 요소(서블릿 > EJB > SQL)가 모두 포함된 이벤트일 수 있습니다. Introscope는 포함된 문자열(구성 요소 이름, SQL 테이블 이름 등)의 60%가 겹칠 경우 비슷한 이벤트로 간주합니다.

참고: 트랜잭션 유형 이벤트를 선택한 경우라도 트랜잭션과 오류 모두가 결과에 반환될 수 있습니다. 오류는 ErrorDetector가 설치된 경우에만 반환됩니다.

비슷한 이벤트를 쿼리하려면

"기록 쿼리" 창에 비슷한 이벤트가 나열됩니다.

상호 관련된 이벤트 쿼리

Introscope에서는 상호 관련된 이벤트, 즉 동일한 트랜잭션의 일부인 이벤트를 쿼리할 수 있습니다. 예를 들어 브라우저 응답 시간 이벤트는 서블릿 트랜잭션 이벤트와 상호 관련됩니다.

참고: 트랜잭션 유형 이벤트를 선택한 경우라도 트랜잭션과 오류 모두가 결과에 반환됩니다.

상호 관련된 이벤트를 쿼리하려면

"기록 쿼리" 창에 상호 관련된 이벤트가 나열됩니다.