Orbit
Orbit 타임라인 주석
Annotations let you write context onto a project's timeline: the incident that started at 2am, the release that changed the checkout flow, the feature flag someone flipped. Six months later they are…
Annotations를 사용하면 프로젝트의 timeline에 context를 작성할 수 있습니다: 새벽 2시에 시작된 incident, checkout flow를 변경한 release, 누군가 전환한 feature flag. 6개월 후에는 mysterious step이 있는 chart와 설명할 수 있는 chart의 차이가 됩니다.
Annotations가 있는 위치
Orbit을 열고 프로젝트를 클릭한 후 project tab strip의 Observability group에서 Timeline을 선택합니다. 페이지 제목은 Timeline annotations이며 deployment timeline에서 incidents, releases, milestones 및 notes를 표시하는 것으로 설명됩니다.

5가지 종류
| 종류 | 사용 대상 |
|---|---|
| Incident | 무언가 깨졌습니다. Outages, 성능 저하, data 문제 |
| Release | 의미 있는 shipment, 특히 설명할 가치가 있는 것 |
| Milestone | 기억할 가치가 있는 순간: launch day, 첫 번째 1000명 사용자, 완료된 migration |
| Flag flip | Feature flag를 켜거나 껐으며, deployment 없이 deploy와 같은 변경입니다 |
| Note | 작성할 가치가 있는 다른 모든 것 |
Flag flip은 특정 이유로 자체 종류를 가집니다. Flag 변경은 deployment를 생성하지 않고 production에서 동작을 변경하므로 deploy history에 흔적을 남기지 않습니다. Performance가 deploys가 없는 날에 움직일 때 flag flip이 매우 자주 그 답이며, annotation만이 당신에게 알려줄 것입니다.
Annotation 만들기
- New annotation을 클릭합니다.
- Kind를 선택합니다.
- Occurred at을 설정합니다. 기본값은 현재이며 backdating할 수 있습니다.
- Title을 작성합니다. 최대 200자입니다.
- 선택적으로 Body를 작성합니다. 최대 4000자, notes, links 또는 postmortem text용입니다.
- Create을 클릭합니다.
Backdating은 중요합니다. 시간이 있을 때 annotation을 작성하고 실제로 발생한 시간으로 설정하여 timeline의 올바른 위치에 배치됩니다.
답을 category가 아니라 title에 넣습니다. "Checkout timing out for AU customers"는 list에서 유용합니다. "Incident"는 유용하지 않으며 kind badge가 이미 그렇게 말하고 있습니다.
필터링
상단의 filter bar는 All 및 각 kind를 제공합니다. Incident로 필터링하면 한 화면에서 프로젝트에 대한 incident history를 얻습니다. 이것은 quarterly review를 작성하거나 반복되는 문제가 실제로 반복되는지 확인할 때 정확히 원하는 것입니다.
Deployment에 고정
Annotation을 standalone으로 서 있는 대신 specific deployment에 attach할 수 있습니다. 이것은 consequence를 cause에 연결하는 방법입니다: annotation은 이를 야기한 deployment와 함께 이동합니다.
fine해 보이고 1시간 후에 문제를 야기한 deploy의 classic pattern에 사용합니다. Incident를 해당 deployment에 고정하면 connection이 누군가의 memory에만 머물기보다는 영구적으로 기록됩니다.
Incidents가 공개됨
Incident annotations는 Show recent incidents가 켜진 상태로 enabled된 public status page의 incidents section의 source입니다.
Anyone이 incident annotation을 읽을 수 있다고 가정합니다. 고객 이름, credentials, internal system 세부 사항 또는 blame을 하나에 넣지 마십시오. Incident annotation에 고객 facing account를 작성하고 internal detail을 note annotation 또는 자신의 postmortem document에 유지합니다. Orbit Status Page를 참조합니다.
좋은 Incident Annotation 작성
Incident 중에는 짧고 factual하게 유지합니다:
- 고객이 사용할 수 있는 용어로 영향을 받는 것.
- 의심하는 것이 아니라 알고 있는 것.
- 다음 update 시기.
그 후에는 resolution으로 body를 추가합니다: cause가 무엇인지, 무엇이 이를 수정했는지, 무엇이 이를 반복하는 것을 방지하는지. 이것은 annotation을 나쁜 시간의 snapshot 대신 permanent record로 변환합니다.
soften하려는 충동을 저항합니다. "Checkout was unavailable for 40 minutes"은 "some customers may have experienced intermittent issues"보다 잘 어울리며, public statement와 자신의 record로도 마찬가지입니다.
삭제
각 annotation은 delete control이 있습니다. Confirmation은 단순히 이것을 취소할 수 없다고 말합니다.
Typos와 duplicates를 삭제합니다. Incidents가 embarrassing이기 때문에 삭제하지 마십시오: timeline의 가치는 완전하다는 것이며, 나쁜 날을 제거한 history는 patterns에 대해 아무것도 알려줄 수 없습니다.
차트에 대한 Timeline 읽기
Annotations는 metric 옆에 놓을 때 가치가 있습니다:
- Web Vitals의 step change. 같은 날에 timeline을 release 또는 flag flip에서 확인합니다: Orbit Web Vitals를 참조합니다.
- build duration의 jump. Dependency upgrade 또는 monorepo restructure와 같은 milestone을 찾습니다: Orbit Build Insights를 참조합니다.
- failed deploys의 cluster. Incident annotation이 보통 설명하며, 그렇지 않으면 그 자체가 알 가치가 있습니다.
Annotations 자동으로 만들기
Annotations는 Orbit API를 통해 만들어질 수 있으므로 자신의 tooling이 이를 작성할 수 있습니다. 설정할 가치가 있는 두 patterns:
- Alerting system이 누군가를 page할 때 Incident annotation을 열므로 누군가가 이를 기억하지 않고도 timeline이 populated됩니다.
- Feature-flag tooling이 모든 변경에 Flag flip annotation을 작성하며, 이것은 해당 record를 유지하는 유일한 신뢰할 수 있는 방법입니다.
Authentication 및 endpoint reference는 Orbit API Tokens and the REST API를 참조합니다.
건축할 가치가 있는 습관
One annotation per event, updated in the body. 같은 incident를 tracking하는 5개가 아닙니다. Timeline은 한 눈에 readable해야 합니다.
Boring wins도 annotate합니다. "Moved images to the edge"는 bandwidth가 떨어진 주 옆에 있으면 이 작업이 수행할 가치가 있었음을 증명합니다.
같은 날에 작성합니다. 1주일 후에 작성된 annotation은 더 모호하고 일반적으로 시간에 대해 틀렸습니다.
문제 해결
Annotation이 status page에 없습니다. 그 kind가 Incident가 아니거나 Show recent incidents switch가 status page settings에서 꺼져 있습니다.
Title이 잘렸습니다. Titles은 200자에서 제한됩니다. Detail을 body에 넣습니다.
Timeline의 잘못된 위치에 나타납니다. Occurred at value는 작성할 때가 아니라 event가 발생한 시간입니다. 올바른 시간으로 삭제하고 다시 만듭니다.
아무것도 listed되지 않습니다. Annotations가 아직 만들어지지 않았습니다. Empty state는 release, incident 또는 milestone을 표시하라는 메시지를 표시합니다.
다음으로 갈 위치
- Orbit Status Page 고객에게 incidents를 공개하기 위해.
- Orbit Releases tag 기반 버전 history를 위해.
- Orbit Project Analytics annotations가 설명하는 charts를 위해.