7.이벤트 연관 분석

Edit

7.1evtctxaddevtctxadd

입력 데이터가 조건식과 일치하면 지정된 키로 이벤트 컨텍스트를 생성합니다.

evtctxadd topic=STR key=KEY_FIELD [expire=NUM{mon|d|h|m|s}] [timeout=NUM{mon|d|h|m|s}] [maxrows=NUM] CONDITIONAL_EXPR
topic=STR

다른 규칙의 이벤트와 구분이 되도록 유일한 이름을 부여합니다. 토픽은 인-메모리 데이터베이스의 테이블의 이름과 같은 역할을 합니다.

key=KEY_FIELD

이벤트 컨텍스트를 구분하는 고유 키를 기록할 필드의 이름을 지정합니다.

expire=NUM{mon|d|h|m|s}

이벤트 컨텍스트 생성 시점부터 지정된 만료 시간 후에 이벤트 컨텍스트가 삭제됩니다. s(초), m(분), h(시), d(일), mon(월) 단위로 지정할 수 있습니다. 만료 시간이 설정된 상태에서 조건식에 일치하는 입력 데이터가 있어도 만료 시간은 연장되지 않습니다.

timeout=NUM{mon|d|h|m|s}

마지막 이벤트가 수신된 시점부터 지정된 시간이 지나면 이벤트 컨텍스트를 삭제합니다. s(초), m(분), h(시), d(일), mon(월) 단위로 지정할 수 있습니다.

maxrows=NUM

이벤트 컨텍스트에 저장할 최대 행 개수를 지정합니다. 지정하지 않으면 10으로 설정됩니다.

CONDITIONAL_EXPR

이벤트 컨텍스트를 생성할 조건이 되는 표현식을 입력합니다.

사용 예

1) 전문 전송 후 응답 수신이 10초 이상 경과하면 타임아웃 발생 (스트림 쿼리 시나리오)

evtctxadd topic=txmatch key=txkey timeout=10s type == "send"
| evtctxdel topic=txmatch key=txkey type == "recv"

예시로 든 쿼리문은 다음과 같은 이벤트 컨텍스트 생성/삭제 명령으로 구성되어 있습니다.

두 명령문 모두 이벤트 컨텍스트 조건이 발생하면 토픽 주제인 'txmatch'와 이벤트 컨텍스트 키 필드인 txkey를 묶어서 이벤트 컨텍스트를 구분합니다.

이제 다음과 같은 이벤트 데이터가 입력으로 전달된다고 하면,

json "{'txkey':'001122', 'type':'send'}"
json "{'txkey':'001122', 'type':'recv'}"

첫번째 데이터가 입력되면 이벤트 컨텍스트가 생성됩니다. 두 번째 데이터의 입력 시간에 따라 서로 다른 이벤트가 발생합니다.

발생한 이벤트 컨텍스트의 삭제 원인에 따라 후속 명령으로 서로 다른 처리를 수행할 수 있습니다.

7.2evtctxdelevtctxdel

입력 데이터가 조건식과 일치하는 경우 주어진 키로 이벤트 컨텍스트를 제거합니다.

문법

evtctxdel topic=STR key=KEY_FILED CONDITIONAL_EXPR
topic=STR

다른 규칙의 이벤트와 구분이 되도록 유일한 이름을 부여합니다.

key=KEY_FIELD

이벤트 컨텍스트를 구분하는 키 값을 추출할 필드를 입력합니다.

CONDITIONAL_EXPR

이벤트 컨텍스트를 제거할 조건이 되는 표현식을 입력합니다.

7.3evtctxdropevtctxdrop

지정된 주제에 해당하는 모든 이벤트 컨텍스트를 일괄 삭제합니다.

문법

evtctxdrop [all=t] [topic=STR]

all=t

t로 설정하면 모든 이벤트 컨텍스트를 일괄적으로 삭제합니다.

topic=STR

지정된 주제를 가진 모든 이벤트 컨텍스트를 삭제합니다.

7.4evtctxlistevtctxlist

이벤트 컨텍스트 목록을 조회합니다.

문법

evtctxlist [topic=STR]
topic=STR

주제와 일치하는 이벤트 컨텍스트를 조회합니다. 옵션을 지정하지 않으면 전체 이벤트 컨텍스트 목록을 조회합니다.

Count of comments [0]