10.이벤트 연관 분석

Edit

10.1evtctxlist

문법

evtctxlist [topic=주제]

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

topic

주제와 일치하는 이벤트 컨텍스트를 조회합니다. 생략 시 전체 이벤트 컨텍스트 목록을 조회합니다.

10.2evtctxadd

문법

evtctxadd topic=주제 key=키필드 expire=시간 timeout=시간 maxrows=최대행갯수 조건식

입력 데이터가 조건식과 일치하는 경우 주어진 키로 이벤트 컨텍스트를 생성합니다. 이벤트 컨텍스트에 타임아웃이 설정된 상태에서 조건식에 일치하는 입력 데이터가 추가로 들어오면, 타임아웃이 연장됩니다. 이 때 만료 시간은 연장되지 않습니다.

topic (필수)

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

key (필수)

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

expire (선택)

이벤트 컨텍스트 생성 시점부터 지정된 만료 시간 후에 이벤트 컨텍스트가 삭제됩니다. s(초), m(분), h(시), d(일), mon(월) 단위로 지정할 수 있습니다.

timeout (선택)

마지막으로 매칭된 이벤트 수신 시점으로부터 타임아웃 시간 후에 이벤트 컨텍스트가 삭제됩니다. s(초), m(분), h(시), d(일), mon(월) 단위로 지정할 수 있습니다.

maxrows (선택)

이벤트 컨텍스트에 저장할 최대 행 갯수를 지정합니다. 미지정 시 10으로 설정됩니다.

사용 예

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

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

입력 데이터 예시

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

위의 쿼리는 celadd 커맨드를 사용해서 type 값이 "send"인 경우 이벤트 컨텍스트를 생성하고, evtctxdel 커맨드를 사용해서 type 값이 "recv"인 경우 이벤트 컨텍스트를 삭제합니다. txmatch와 txkey 필드의 값을 묶어서 이벤트 컨텍스트 키로 사용합니다.

첫번째 데이터 입력 이후 두번째 데이터를 10초 이전에 넣는 경우 단순히 이벤트 컨텍스트 삭제 (EventCause.REMOVAL) 이벤트가 발생하며, 10초 이후에 입력하거나 입력하지 않는 경우에는 타임아웃 (EventCause.TIMEOUT) 이벤트가 발생합니다. 발생한 이벤트 처리 시 컨텍스트 삭제 원인을 구분하여 다른 처리를 수행할 수 있습니다.

10.3evtctxdel

문법

evtctxdel topic=주제 key=키필드 조건식

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

topic (필수)

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

key (필수)

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

10.4evtctxdrop

문법

evtctxdrop [all=t] [topic=주제]

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

all

t로 지정 시, 모든 이벤트 컨텍스트를 일괄적으로 삭제합니다.

topic

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

Count of comments [0]