서비스 카탈로그 & 맵

맵은 스팬으로부터 스스로 그려집니다

선언해야 할 토폴로지가 없습니다. Maple은 이미 보내고 있는 트레이스에서 부모-자식 관계를 읽어내므로, 새 서비스는 처음 호출되는 순간 맵에 나타납니다.

화면

서비스 열두 개, 표 하나

선택한 기간에 대해 서비스별 지연 백분위·에러율·처리량을 보여줍니다. p99로 정렬하면 손이 필요한 행이 맨 위에 옵니다.

The service catalog listing latency percentiles, error-rate trends and throughput per service
/services 12 services · env production
topology
derived from spans
nodes
service · db · cache · external
edges
parent → child
per.service
p50 · p95 · p99 · error% · req/s
colour
16 hues · service identity

움직임

흐르는 트래픽

각 노드는 요청률·에러율·평균 지연을 함께 보여줍니다. 간선을 따라 흐르는 것은 그 간선의 트래픽이지 장식이 아닙니다.

service map · last 60s LIVE
2.8k req/s edge req/s 12.4k err% 0.1% avg 8ms checkout-api req/s 4.2k err% 0.3% avg 24ms cart-svc req/s 8.1k err% 0.1% avg 18ms auth-svc req/s 4.2k err% 0.0% avg 6ms pricing req/s 2.8k err% 2.4% avg 142ms payments req/s 1.1k err% 0.5% avg 38ms redis DB calls/s 18.2k avg 2ms postgres DB calls/s 6.4k avg 14ms
8 services · 8 edges · 60s window pricing-svc · p99 +18% vs 1h ago

할 수 있는 일

이웃을 읽는 법

edges
간선은 실제 호출입니다
두 노드를 잇는 선은 모두 실제로 발생한 부모-자식 스팬 쌍이며, 각자 고유한 요청률과 에러율을 가집니다. 맵 위에 선언된 것은 없습니다.
db.system
데이터베이스와 캐시까지
클라이언트 스팬도 노드가 되므로 Postgres, Redis, 각종 서드파티 API가 자체 서비스와 같은 지연 컬럼을 갖고 맵에 함께 놓입니다.
1-hop / 2-hop
1홉, 2홉
노드를 포커스하면 맵이 그 노드가 통신하는 대상만으로 좁혀집니다. 40개 서비스 규모가, 지금 던지는 질문에 관계있는 6개로 줄어듭니다.
service.name
정체성으로 색 구분
각 서비스는 열여섯 색 중 하나를 가지며, 맵·워터폴·차트 어디서나 그 색을 유지합니다. 색은 어느 서비스인지를 뜻하며, 얼마나 건강한지를 뜻하지 않습니다.
service.version
같은 축 위의 배포
서비스 상세 화면은 릴리스를 지연 지표 위에 표시하므로, 계단식 변화가 감이 아니라 그것을 들여온 버전과 맞아떨어집니다.

다음은

이 데이터를 공유하는 화면

OTLP를 Maple로 보내세요.

엔드포인트 하나, 키 하나. 트레이스·로그·메트릭·세션이 첫 요청부터 같은 트레이스 ID로 모입니다.