OTCA — 오픈텔레메트리 인증 어소시에이트 · API 와 SDK 의 조립 — 프로바이더·프로세서·계측기·로그 모델 · 퀴즈
퀴즈: API 와 SDK 의 조립
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
OpenTelemetry 가 API 와 SDK 를 독립된 아티팩트로 나눈 이유로 스펙이 드는 것은?
- API 가 SDK 보다 자주 바뀌어 릴리스 주기를 따로 가져가기 위해서
- SDK 가 언어마다 달라서 API 만 스펙으로 정할 수 있기 때문에
- API 는 벤더가, SDK 는 프로젝트가 관리하는 역할 분담 때문에
- 라이브러리는 API 만 의존하고 애플리케이션이 SDK 사용 여부를 정하게 하려고
SDK 가 설치되지 않은 애플리케이션에서 계측된 라이브러리가 createSpan() 을 호출하면 어떻게 됩니까?
- SDK 가 없다는 예외가 나서 호출자가 null 검사를 해야 한다
- API 의 최소 구현이 유효한 non-null Span 을 돌려주고 아무것도 보내지 않는다
- API 가 기본 OTLP 익스포터를 자동으로 만들어 localhost 로 보낸다
- 호출이 지연되다가 SDK 가 나중에 등록되면 그때 스팬이 만들어진다
Batching SpanProcessor 의 기본값에 대한 설명으로 맞는 것은?
- maxQueueSize 는 512 이고 큐가 차면 오래된 스팬부터 내보낸다
- scheduledDelayMillis 는 30000 이고 exportTimeoutMillis 는 5000 이다
- maxQueueSize 는 2048 이고 넘치면 스팬을 버리며 maxExportBatchSize 는 512 이다
- maxExportBatchSize 는 maxQueueSize 보다 커야 하며 기본은 2048 이다
동기 계측기와 비동기 계측기의 차이로 스펙이 적은 것은?
- 동기 계측기의 측정값은 Context 와 연결될 수 있고 비동기 계측기의 콜백은 수집 시점에만 불린다
- 비동기 계측기는 별도 스레드에서 측정하고 동기 계측기는 호출 스레드를 막는다
- 동기 계측기는 Counter 계열만 있고 비동기 계측기는 Gauge 계열만 있다
- 비동기 계측기의 측정값이 Context 와 연결되고 동기 계측기는 연결되지 않는다
cumulative temporality 의 단조(monotonic) Sum 데이터 포인트가 뜻하는 값은?
- 직전 보고 이후 그 구간에 더해진 양이며 음수가 아니어야 한다
- 시작 시각(보통 프로세스 시작)부터의 전체 합이며 이전 값보다 작지 않아야 한다
- 특정 시각에 표본으로 읽은 값이며 시간 창을 갖지 않는다
- 구간의 최소·최대·개수를 담은 분포이며 버킷 경계를 갖는다
로그 데이터 모델에서 Timestamp 와 ObservedTimestamp 의 관계로 맞는 것은?
- Timestamp 는 UTC, ObservedTimestamp 는 로컬 시각으로 같은 순간을 두 번 적는다
- ObservedTimestamp 는 Collector 에서만 채워지고 SDK 로그에는 비어 있다
- Timestamp 는 원본에서 일어난 시각, ObservedTimestamp 는 관찰된 시각이며 하나만 쓸 수 있으면 Timestamp 를 우선한다
- 둘 중 하나만 있어야 하며 둘 다 있으면 데이터 모델 위반이다