본문 바로가기
WIKI 기술 지식 베이스

리소스 페이지 (Resource Page)

원문 보기 위키 갱신

건강 메트릭, 종속성 맵, 스팬 요약, 프론트엔드 영향 데이터로 리소스 성능을 분석하는 방법을 알아봐요. 리소스는 주어진 서비스의 특정 동작(보통 개별 엔드포인트 또는 쿼리)이에요.

출처: 문서

본문

{% image source="https://docs.dd-static.net/images/tracing/visualization/resource/resource-page-cropped.a5877c3f9c9be325fd36758c0ac40af5.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/resource/resource-page-cropped.a5877c3f9c9be325fd36758c0ac40af5.png?auto=format&fit=max&w=850&dpr=2 2x" alt="The APM resource page, showing monitor status and trends for key metrics" /%}

리소스는 주어진 서비스의 특정 동작(보통 개별 엔드포인트 또는 쿼리)이에요. 리소스에 대한 자세한 내용은 APM 시작하기를 읽어보세요. 각 리소스에 대해 APM은 다음을 포함하는 대시보드 페이지를 자동으로 생성해요:

  • 핵심 건강 메트릭
  • 이 서비스와 연결된 모든 모니터의 모니터 상태
  • 이 서비스와 연결된 모든 리소스의 메트릭 목록

기본 제공 그래프 (Out-of-the-box graphs)

Datadog은 주어진 리소스에 대한 기본 제공 그래프를 제공해요. 각 그래프 위의 드롭다운을 사용해 표시되는 정보를 변경해요.

{% image source="https://docs.dd-static.net/images/tracing/visualization/resource/resource_otb_graphs.e96a628ef132c72a8bc6d76646a807c9.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/resource/resource_otb_graphs.e96a628ef132c72a8bc6d76646a807c9.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Out-of-the-box resource graphs showing requests per second, latency, total errors, and percent time spent per service" /%}

요청 및 오류 (Requests and Errors)

Requests and Errors 그래프는 시간에 따른 총 요청(조회) 수와 오류 수를 표시해요. 드롭다운 메뉴를 사용해 다음도 볼 수 있어요:

  • 버전별 요청 (Requests by Version): 서로 다른 서비스 버전 간의 요청 분류.
  • 버전별 초당 요청 (Requests per Second by Version): 각 버전의 요청 비율.
  • 초당 요청 및 오류 (Requests and Errors Per Second): 초당 요청(조회) 수와 오류 수의 비율.

오류 (Errors)

Errors 그래프는 시간에 따른 총 오류 수를 표시해요. 드롭다운 메뉴를 사용해 다음도 볼 수 있어요:

  • 버전별 오류 (Errors by Version): 각 서비스 버전의 오류 수를 나란히 표시.
  • 버전별 초당 오류 (Errors per Second by Version): 시간에 따른 각 서비스 버전의 오류율(초당 오류).
  • 초당 오류 (Errors per Second): 서비스의 전반적인 초당 오류율.
  • 버전별 오류율 % (% Error Rate by Version): 각 서비스 버전에서 오류로 이어진 요청의 백분율.
  • 오류율 % (% Error Rate): 서비스의 전반적인 오류율(백분율).

지연 시간 (Latency)

Latency 그래프는 지연 시간 백분위수를 타임시리즈로 표시해요. 드롭다운 메뉴를 사용해 다음도 볼 수 있어요:

  • 버전별 지연 시간 (Latency by Version): 서비스 버전별로 분류된 지연 시간.
  • 과거 지연 시간 (Historical Latency): 현재 지연 시간 분포와 전날·지난주 비교.
  • 지연 시간 분포 (Latency Distribution): 선택한 시간 범위에서 지연 시간의 분포.
  • 오류별 지연 시간 (Latency by Error): 요청이 오류로 이어졌는지에 따라 구분된 시간에 따른 요청 지연 시간.
  • Apdex (Application Performance Index): 시간에 따른 Apdex 점수.

요청당 평균 시간 (Avg Time per Request)

여러 다운스트림 서비스를 포함하는 서비스의 경우 네 번째 그래프가 요청당 소비된 평균 실행 시간 (execution time)을 분류해요. 이 그래프는 샘플링된 트레이스 데이터를 기반으로 구축되며, 위의 다른 최상위 그래프는 샘플링되지 않은 데이터 소스를 사용해요.

드롭다운 메뉴를 사용해 다음도 볼 수 있어요:

  • 총 소요 시간 (Total Time Spent): 시간에 따라 각 다운스트림 서비스에 소비된 누적 시간.
  • 시간 비율 % (% of Time Spent): 총 시간 대비 각 다운스트림 서비스에 소비된 시간의 백분율.

Postgres나 Redis처럼 다른 서비스를 호출하지 않는 최종 작업인 서비스에는 하위 서비스 그래프가 없어요. Watchdog은 Requests, Latency, Error 그래프에 대해 자동 이상 감지를 수행해요. 이상이 감지되면 그래프에 오버레이가 나타나요. Watchdog 아이콘을 클릭하면 사이드 패널에서 더 자세한 내용을 제공해요.

대시보드로 내보내기 (Export to dashboard)

각 그래프의 오른쪽 상단에서 위쪽 화살표를 클릭해 그래프를 기존 대시보드 (Dashboard)로 내보내요.

지연 시간 분포 (Latency distribution)

리소스 페이지는 리소스 지연 시간 분포 그래프도 표시해요:

{% image source="https://docs.dd-static.net/images/tracing/visualization/resource/resource_latency_distribution.e871f9c047bdcc4dd62e30a2ade4baf1.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/resource/resource_latency_distribution.e871f9c047bdcc4dd62e30a2ade4baf1.png?auto=format&fit=max&w=850&dpr=2 2x" alt="A latency distribution graph showing a distribution of the time taken per resource request" /%}

오른쪽 상단의 백분위수 선택기를 사용해 특정 백분위수로 확대하거나, 사이드바 위에 마우스를 올려 백분위수 표시를 확인해요.

{% image source="https://docs.dd-static.net/images/tracing/visualization/service/latency_distribution_sidebar.0f612dbd09d5f47743733f9e553f172f.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/service/latency_distribution_sidebar.0f612dbd09d5f47743733f9e553f172f.png?auto=format&fit=max&w=850&dpr=2 2x" alt="A close-up of the latency distribution graph sidebar which allows filtering on percentiles" /%}

종속성 맵 (Dependency Map)

Dependency Map을 사용해 리소스의 모든 업스트림·다운스트림 서비스 종속성의 플로우 그래프를 봐요. 맵은 선택한 서비스와 집중하고 있는 리소스(엔드포인트, 데이터베이스 쿼리 등)를 통해 흐르는 요청으로 범위가 한정돼요.

{% callout %}

다음 Datadog 사이트 사용자에게 중요한 안내: ap1.datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, app.datadoghq.eu, app.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com

추론 서비스 종속성 (Inferred service dependencies)은 데이터베이스, 큐, 타사 서비스처럼 보라색 배경 노드로 표시돼요. {% /callout %}

다운스트림 또는 업스트림 서비스 노드를 클릭해 요청 흐름에서 호출되는 리소스를 확인해요. 특정 요청 경로에 집중하려면 노드를 선택하고 set as start/end를 클릭해요. 이렇게 하면 이 업스트림·다운스트림 종속성을 통해서도 흐르는 요청에 초점을 맞추도록 맵이 필터링돼요.

참고: 이 맵은 수집된 스팬의 샘플을 기반으로 해요. 요청율은 실제 애플리케이션/서비스 트래픽을 나타내기 위해 적용된 샘플링 비율을 기반으로 상향 조정돼요.

종속성 맵은 서비스 진입 스팬 리소스에만 사용할 수 있어요.

{% image source="https://docs.dd-static.net/images/tracing/visualization/resource/dependency_map.9225e6c183da96b6fb69fb78b01beead.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/resource/dependency_map.9225e6c183da96b6fb69fb78b01beead.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Resource page dependency map" /%}

{% callout %}

다음 Datadog 사이트 사용자에게 중요한 안내: ap1.datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, app.datadoghq.eu, app.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com

참고: 서비스 재정의 (Service overrides)는 서비스가 상호작용하는 실제 원격 서비스, 데이터베이스 또는 큐에 대한 가시성을 유지하기 위해 종속성 맵의 엣지의 일부로 표시돼요. {% /callout %}

프론트엔드 영향 (Frontend Impact)

Datadog은 웹 리소스가 프론트엔드 애플리케이션에 미치는 영향에 대한 가시성을 제공해요. 어떤 프론트엔드 뷰가 리소스에 요청을 보내는지 이해하고, 리소스로 인해 높은 지연 시간이나 오류를 겪는 뷰를 식별할 수 있어요.

{% image source="https://docs.dd-static.net/images/tracing/visualization/resource/resource_frontend_impact.3f6859fd4a90ac9b0a83bad19d39b256.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/resource/resource_frontend_impact.3f6859fd4a90ac9b0a83bad19d39b256.png?auto=format&fit=max&w=850&dpr=2 2x" alt="A table showing several key metrics for a list of views sending requests to a particular resource" /%}

테이블의 RUM View Name 위에 마우스를 올리고 Isolate this View를 클릭해 특정 프론트엔드 뷰에 대한 시간에 따른 요청과 오류를 분리해요. 여기에서 패널 오른쪽 상단의 View Traces를 클릭해 프론트엔드 뷰에서 시작된 샘플 트레이스를 탐색할 수 있어요. 또한 테이블에서 프론트엔드 뷰의 컨텍스트 메뉴를 클릭해 각 뷰의 샘플 RUM 세션을 조사할 수도 있어요.

프론트엔드 영향 패널은 Real User Monitoring(RUM)을 사용하고 리소스가 웹 서비스에 속할 때만 사용할 수 있어요. 샘플링되지 않은 데이터 소스를 사용하는 요청·오류·지연 그래프와 달리, 프론트엔드 영향 메트릭은 지난 1시간의 인덱싱된 트레이스 데이터를 기반으로 구축돼요:

{% dl %}

{% dt %} RUM View Name: {% /dt %}

{% dd %} 프론트엔드 뷰의 이름 {% /dd %}

{% dt %} App Name: {% /dt %}

{% dd %} 프론트엔드 뷰를 포함하는 애플리케이션의 이름 {% /dd %}

{% dt %} Sessions: {% /dt %}

{% dd %} 프론트엔드 뷰의 세션 수 {% /dd %}

{% dt %} Error Rate Per Sessions: {% /dt %}

{% dd %} 프론트엔드 뷰를 포함한 세션 수 {% /dd %}

{% dt %} P95 Latency {% /dt %}

{% dd %} 프론트엔드 뷰에서 시작된 요청의 P95 지연 시간 {% /dd %}

{% dt %} Requests {% /dt %}

{% dd %} 프론트엔드 뷰에서 시작된 요청 수 {% /dd %}

{% /dl %}

스팬 요약 (Span summary)

주어진 리소스에 대해 Datadog은 일치하는 모든 트레이스의 스팬(span) 분석 분류를 제공해요:

{% image source="https://docs.dd-static.net/images/tracing/visualization/resource/span_stats.e929640d13304fb26ca58f24ea4f5489.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/resource/span_stats.e929640d13304fb26ca58f24ea4f5489.png?auto=format&fit=max&w=850&dpr=2 2x" alt="A table showing several key metrics for a list of the spans associated with a particular resource" /%}

표시되는 메트릭은 스팬당 다음을 나타내요:

{% dl %}

{% dt %} Avg Spans/trace {% /dt %}

{% dd %} 스팬이 한 번 이상 존재하는, 현재 리소스를 포함하는 트레이스에서 스팬의 평균 발생 횟수. {% /dd %}

{% dt %} % of Traces {% /dt %}

{% dd %} 스팬이 한 번 이상 존재하는, 현재 리소스를 포함하는 트레이스의 백분율. {% /dd %}

{% dt %} Avg Duration {% /dt %}

{% dd %} 스팬이 한 번 이상 존재하는, 현재 리소스를 포함하는 트레이스에서 스팬의 평균 지속 시간. {% /dd %}

{% dt %} Avg % Exec Time {% /dt %}

{% dd %} 스팬이 한 번 이상 존재하는, 현재 리소스를 포함하는 트레이스에서 스팬이 활성 상태였던 실행 시간의 평균 비율. {% /dd %}

{% /dl %}

참고: 스팬이 자식 스팬의 완료를 기다리지 않을 때 활성 상태로 간주돼요. 주어진 트레이스에서 주어진 시점의 활성 스팬은 모든 리프 스팬(즉, 자식이 없는 스팬)이에요.

스팬 요약 테이블은 서비스 진입 스팬을 포함하는 리소스에서만 사용할 수 있어요.

트레이스 (Traces)

이 리소스와 연결된 트레이스 목록을 환경, 서비스, 작업, 리소스 이름으로 이미 필터링된 Trace search 모달에서 확인해요:

{% image source="https://docs.dd-static.net/images/tracing/visualization/resource/traces_list.29fcb0e7075964290ebfce3c30135175.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/visualization/resource/traces_list.29fcb0e7075964290ebfce3c30135175.png?auto=format&fit=max&w=850&dpr=2 2x" alt="A list of traces associated with a particular resource that shows the timestamp, duration, status, and latency breakdown of each trace" /%}

엔드포인트 정의 (Endpoint definition)

엔드포인트는 서비스가 특정 URL 경로에 노출하는 HTTP 리소스예요.

리소스가 엔드포인트를 나타내면 리소스 페이지에 새 Definition 섹션이 추가돼요.

{% image source="https://docs.dd-static.net/images/tracing/software_catalog/definition-section.4cce3e10db1e2293c92395c8c0d0c31b.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/software_catalog/definition-section.4cce3e10db1e2293c92395c8c0d0c31b.png?auto=format&fit=max&w=850&dpr=2 2x" alt="Resource side panel showing endpoint Definition section." /%}

더 알아보기 (Learn more)

도움이 되는 추가 문서, 링크, 아티클이에요: