발생 기록
실행의 판정기나 실행 밖의 "항상" 감시기가 관측한 모든 발생 기록 변화 지점의 영구 시간선이며, 각각의 뒤에 얼어붙은 조건이 함께 붙습니다.
이벤트의 발생 기록 탭(/events?view=occurrences)은 시험 대상이 무엇을 했는지를 담은 영구 시간선입니다. 발생 기록의 변화 지점마다 한 행이며, 실행의 판정기가 관측했든 실행 밖의 항상 감시기가 관측했든 마찬가지입니다. 보려면 이벤트 보기가, 내보내려면 이력 내보내기와 가져오기가 필요합니다. 발생 기록은 모델마다 Process > 셋업 > 발생 기록에서 정의합니다. 이 탭은 그 이력을 읽을 뿐 아무것도 바꾸지 않습니다.
이벤트에 적힌 세 시간선 공통의 행동 규칙을 따릅니다. 한 쪽에 500행과 그 아래의 쪽 넘김 띠, 기간, 입력이 멎은 뒤 걸리는 검색, 실시간 새로 고침, 상세 패널 하나, 그리고 기간 전체의 CSV와 JSON 내보내기입니다.
한 행이 무엇인가
발생 기록은 모델의 채널을 놓고 세운 불리언 조건이며 발생 지연과 복귀 지연을 가집니다. 한 행은 관측 세션 하나가 겪는 네 가지 상태 전이 가운데 하나입니다.
| 상태 전이 | 뜻 |
|---|---|
| Activated | 조건이 참이 되어 발생 지연 동안 유지되었습니다. |
| Cleared | 조건이 거짓이 되어 복귀 지연 동안 유지되었습니다. |
| Unavailable | 조건이 참조하는 채널 가운데 하나 이상이 값을 내주지 않게 되었습니다. 판정기는 마지막으로 확인한 조건을 그대로 지니며 복귀를 지어내지 않습니다. |
| Restored | 참조하는 채널이 모두 다시 값을 내줍니다. 조건은 새로 평가되고 지연도 처음부터 다시 셉니다. |
행마다 어느 범위에서 관측되었는지와 그 세션이 왜 시작되었는지도 함께 적힙니다.
| 항목 | 값 | 뜻 |
|---|---|---|
| 범위 | 실행 기록, 실행 기록 밖 | 실행 기록: 절차가 투입한 그 실행 자신의 판정기이며, 이 변화 지점은 그 실행의 파일에도 함께 쓰입니다. 실행 기록 밖: 실행과 실행 사이에 유닛의 바인딩을 읽는 "항상" 감시기입니다. |
| 사유 | 실행 시작, 실행 재개, 감시 시작, 실행 밖 관찰 재개, 정의 변경 | 새 관측 세션이 왜 시작되었는지입니다. 실행이 시작되었거나, 앱을 다시 시작한 뒤 실행이 재개되었거나, 이 발생 기록과 이 유닛에 대한 "항상" 감시기가 시작되었거나, 실행이 끝나고 유닛이 실행 밖 관측으로 돌아왔거나, 조건과 지연과 참조 채널과 사용 여부와 투입 방식 가운데 무엇인가가 편집되었습니다. |
새 세션은 아무것도 없는 데서 시작합니다. 관측하지 않은 틈을 건너 조건이나 가용성이나 디바운스 상태를 물려받지 않으므로, 이미 참인 조건도 실행이 시작되거나 앱이 돌아오면 Activated를 한 번 더 낼 수 있습니다. 이 시간선에는 "세션 시작"이라는 지어낸 행이 없습니다. 실행 자신의 파일은 뒤따르는 상태 전이가 없어도 세션의 경계를 기록하며, 이력과 보고서는 그것으로 더 오래된 미종료 발생을 끊김으로 분류합니다. 그 표시는 이 시간선에 들어오지 않고 알림도 일으키지 않습니다. 보이는 것만 바꾸는 편집(이름, 메시지, 심각도)은 세션을 유지하고 그 뒤의 스냅숏만 바꿉니다.
검색과 필터
| 조작 | 값 | 하는 일 |
|---|---|---|
| 검색 | 안내 문구 "이름, 메시지, 모델, 유닛, 절차 검색" | 그때 스냅숏으로 찍힌 발생 기록의 이름, 메시지, 모델 이름, 유닛 이름, 절차 이름을 "포함"으로 맞춥니다. |
| 심각도 | 모든 심각도(기본값), 심각, 경고, 정보 | 그 일이 일어났을 때 그 심각도였던 발생 기록의 상태 전이만 남깁니다. |
| 새로 고침 | 기록부를 다시 읽습니다. 도구 설명은 "발생 기록 새로 고침"입니다. | |
| 내보내기 | CSV로 내보내기…, JSON으로 내보내기… | 지금 나열된 행을 씁니다. 이력 내보내기와 가져오기가 있어야 그려지고, 목록이 비어 있으면 흐려집니다. |
행
| 행의 부분 | 내용 |
|---|---|
| 시각 | 판정기가 그 변화 지점을 관측한 날짜와 시각입니다(실행이면 판정에 쓰인 표본 자신의 시각입니다). |
| 점 | 심각도의 색입니다. 심각에는 위험을 나타내는 색, 경고에는 주의를 나타내는 색, 정보에는 중립색입니다. |
| 이름 | 그때의 발생 기록 이름입니다. |
| 요약 | "상태 전이 · 관측 N (사유) · 모델 / 유닛 · 맥락"입니다. N은 그 세션 안에서 이 변화 지점이 몇 번째인지이고, 맥락은 "실행 기록 · " 뒤에 절차의 이름이 오거나(절차 이름이 기록되지 않았으면 그냥 "실행 기록"), "실행 기록 밖"입니다. 예를 들면 "Activated · 관측 1 (실행 시작) · 가열로 / 2호 라인 · 실행 기록 · 베이킹 180"입니다. |
| 수준 | 심각도를 적은 낱말입니다. |
행이 지니는 메시지는 Activated와 Cleared에서는 발생 기록 자신의 메시지이고(정의에 메시지가 없으면 비어 있으며, 패널에는 "기록된 메시지가 없습니다."로 나옵니다), 가용성 변화 지점에서는 "신호 확인 불가:" 또는 "신호 회복:" 뒤에 영향받은 채널의 이름을 쉼표로 이어 붙인 것입니다.
상세 패널
행을 고르면 심각도 배지와 이름, 전체 시각, 요약 줄, 메시지, 그리고 카드 넷이 든 패널이 열립니다.
| 카드 | 항목 | 내용 |
|---|---|---|
| 이벤트 | 수준 | 심각도입니다. |
| 이벤트 | 이벤트 ID | 이 변화 지점에 기록부가 매긴 신원입니다. 실행 관측이면 실행 파일이 지닌 것과 같은 id입니다. |
| 발생 기록 스냅숏 | 상태 전이 | Activated, Cleared, Unavailable, Restored 가운데 하나입니다. |
| 발생 기록 스냅숏 | 모델 | 그때의 모델 이름입니다. |
| 발생 기록 스냅숏 | 유닛 | 그때의 유닛 이름입니다. |
| 발생 기록 스냅숏 | 범위 | 실행 기록 또는 실행 기록 밖입니다. |
| 발생 기록 스냅숏 | 절차 | 실행 범위에서만 나옵니다. 절차의 이름이며, 기록된 것이 없으면 줄표입니다. |
| 발생 기록 스냅숏 | 실행 기록 ID | 실행 기록 범위에서만 나옵니다. 이력이 보여 주는 것과 같은 실행의 id입니다. |
| 발생 기록 스냅숏 | 모델 ID, 유닛 ID, 발생 기록 ID | 이름 뒤에 있는 변하지 않는 id이며, 이름을 바꿔도 그대로입니다. |
| 관측 세션 | 기록부 연번 | 기록부에 들어간 순서 번호이며, 같은 시각을 가진 행의 앞뒤를 가릅니다. |
| 관측 세션 | 관측 세션 ID | 그 변화 지점을 관측한 세션의 신원이며, 한 세션의 모든 변화 지점이 이것을 함께 지닙니다. |
| 관측 세션 | 상태 전이 연번 | 세션 안에서 이 변화 지점이 몇 번째인지이며 1부터 셉니다. 번호가 비면 기록부가 남기지 못한 변화 지점이 있다는 뜻입니다. |
| 관측 세션 | 시작 | 세션이 시작된 때이며 전체 시각으로 적습니다. |
| 관측 세션 | 사유 | 실행 시작, 실행 재개, 감시 시작, 실행 밖 관찰 재개, 정의 변경 가운데 하나입니다. |
| 얼어붙은 구성 | 조건 | 그 세션이 실제로 판정한 JavaScript 조건입니다. |
| 얼어붙은 구성 | 켜짐 / 꺼짐 지연 | "x ms / y ms"이며, 그 세션이 쓴 디바운스입니다. |
| 얼어붙은 구성 | 참조하는 채널 ID | 조건을 좌우한 채널의 id이며 쌍반점으로 나눕니다. |
이벤트 복사는 한 줄을 복사합니다. "시각 | Occurrence | 심각도 | 이름 | 요약 | 메시지 | EventId=… | OccurrenceId=… | ObservationId=… | ObservationSequence=… | ObservationStartedAt=… | ObservationReason=… | Condition=… | OnDelayMs=… | OffDelayMs=… | ReferencedChannelIds=…"입니다.
내보내기의 열
CSV와 JSON은 같은 항목을 이 순서로 싣습니다. Timestamp(CSV 머리글에는 시간 기준이 붙어 Timestamp (UTC-03:00)이 됩니다), JournalSequence, Severity, Name, Transition, Scope, Model, ModelId, Unit, UnitId, Procedure, RunId, Message, EventId, OccurrenceId, ObservationId, ObservationSequence, ObservationStartedAt, ObservationReason, Condition, OnDelayMs, OffDelayMs, 그리고 ReferencedChannelIds(CSV에서는 쌍반점으로 나누고 JSON에서는 배열입니다)입니다. JSON은 TimeZone과 Events가 든 봉투입니다. 파일 이름은 occurrence-history-<yyyyMMdd-HHmmss>.csv와 .json입니다. CSV는 다른 모든 내보내기와 마찬가지로 스테이션의 소수 구분 기호 설정을 따릅니다. 소수점이 점이면 목록 구분 기호는 ,이고, 소수점이 쉼표이면 ;입니다. =, +, -, @로 시작하는 칸에는 작은따옴표를 앞에 붙여 스프레드시트가 글로 읽게 합니다.
발생 기록이 또 어디에 남는가
실행 관측은 먼저 그 실행 자신의 파일에 쓰이고, 그다음 같은 이벤트 id와 실행 맥락을 달고 여기로 복사됩니다. 복사가 실패하면 실행 파일에는 그 변화 지점이 그대로 남고 콘솔에 그렇게 알리는 오류 한 줄이 실립니다. 실행 밖 관측은 여기에만 있습니다. 모든 변화 지점은 Process 영역에 콘솔 한 줄도 남깁니다. 발생은 그 심각도에 맞는 수준으로(심각은 오류로, 경고는 경고로, 정보는 정보로), 신호 손실도 같은 수준으로, 복귀와 회복은 정보로 남습니다. 발생은 여기에 더해 "발생 기록 · " 뒤에 유닛의 이름을 붙인 제목의 창 안 알림을 띄우고, 실행 중에 관측된 경고나 심각 발생이면 창이 숨겨져 있거나 최소화된 동안 운영체제 알림도 띄웁니다.
비어 있는 상태와 상태 줄
- "아직 발생 기록이(가) 없습니다"와 "실행에서 나온 발생 기록의 상태 전이와, 실행 밖에서 항상 감시로 잡은 상태 전이가 여기에 나타납니다."
- "이 거르기에 맞는 발생 기록이(가) 없습니다"와 "심각도이나 검색어를 조정하면 이 이력을 넓힐 수 있습니다."
- 상태 줄은 "표시 N개 · 1페이지"라고 적고, 검색이나 심각도나 기간이 걸려 있으면 " · 걸러짐"이 붙습니다. 오른쪽에는 "1개 선택됨"과 "hh:mm:ss에 갱신함"이 놓입니다.
발생 기록 탭이 하지 않는 것
- 발생 기록을 정의하지도, 투입하지도, 편집하지도 않습니다(Process > 셋업 > 발생 기록).
- 변화 지점을 짝지어 지속 시간을 가진 발생 구간으로 만들지 않습니다. 끊김과 불완전 분류가 딸린 그 파생 화면은 실행에 대해서는 이력에, 그리고 유닛 자신의 패널에 있습니다.
- 유닛 필터도, 실행 필터도, 범위 필터도, 날짜 필터도 없습니다. 유닛이나 모델이나 절차의 이름으로 검색하거나 이력에서 그 실행을 여십시오.
- 실시간 상태를 보여 주지 않습니다. 지금 어떤 발생 기록이 켜져 있는지는 여기가 아니라 유닛의 패널에서 읽습니다.