콘텐츠로 이동

트레이스 상세


트레이스 탐색기에서 임의의 트레이스를 클릭하면 트레이스 상세를 확인할 수 있습니다. 상세 정보에는 상대 시간, 지속 시간, HTTP 메서드, URL, 상태 코드, TraceId, 플레임 그래프, Span 목록, 서비스 호출 관계, 리소스 호출 관계와 함께 연관된 로그, 호스트, 메트릭, 네트워크 정보가 포함됩니다. 프런트엔드 애플리케이션(예: 브라우저)의 경우 대기(queue), 첫 바이트(TTFB), 다운로드의 소요 시간 비율을 포함한 요청 소요 시간 분포도 확인할 수 있습니다.

트레이스 상세를 열면 시스템은 환경 설정의 '트레이스 상세 기본 보기' 설정에 따라 워터폴 차트 또는 플레임 그래프를 우선 표시합니다.

워크스페이스 간 조회 결과에서 레코드를 열면 상세 및 연관 데이터는 해당 레코드의 출처 워크스페이스를 기준으로 조회됩니다. 이전 또는 다음 레코드로 전환하면 새 레코드의 출처 워크스페이스를 사용하며, 동일한 이름의 서비스나 동일한 식별자로 출처를 대체할 수 없습니다. 출처 워크스페이스를 확인할 수 없는 경우 상세 진입점을 사용할 수 없으므로 새로고침 후 다시 시도하세요. 조회 범위 및 권한에 대한 자세한 내용은 워크스페이스 간 조회를 참조하세요.

주의
  • 실제 사용자 모니터링(RUM) SDK는 2.2.10 이상이어야 이 부분의 데이터 표시를 확인할 수 있습니다. 크로스 도메인(교차 출처) 상황이 있으면 header 구성을 조정해야 합니다.

자세한 내용은 웹 애플리케이션 연동을 참조하세요.

  • 플레임 그래프/ Span 목록/워터폴 차트는 최대 1만 개의 Span을 표시합니다. 오프셋 설정으로 표시되지 않은 Span을 확인할 수 있습니다.

플레임 그래프

플레임 그래프는 각 Span의 흐름과 실행 시간을 명확하게 보여줍니다. 오른쪽에서 서비스 목록 및 응답 시간을 확인할 수 있습니다. Span을 클릭하면 트레이스 상세에서 JSON 내용을 확인할 수 있으며, 마우스 휠로 확대/축소하여 세부 정보를 살펴볼 수 있습니다.

자세한 내용은 플레임 그래프를 활용한 트레이스 성능 분석을 참조하세요.

위 플레임 그래프를 보면 이번 호출 트레이스에 CloudCare와 Mysql 두 개의 서비스가 포함되어 있음을 알 수 있습니다. 트레이스는 CloudCare 서비스의 POST 요청으로 시작하여 ActionResource.executeAction을 실행하고, 마지막으로 Mysql 문을 실행합니다. ActionResource.executeAction이 실행되는 전체 과정에서 Mysql 문이 여러 번 실행됩니다. CloudCare와 Mysql의 실행 시간 계산 방식은 각각 다음과 같습니다.

  • CloudCare 서비스의 실행 시간 = D1+D2+D3+D4+D5+D6+D7+D8+D9+D10+D11
  • Mysql 서비스의 실행 시간 = span2+span3+......+span11

실제 실행된 문과 실행 시간 상세는 Span 목록을 참조하세요.


플레임 그래프에서 서비스 실행 시간 비율은 이번 호출 트레이스에서 각 서비스가 전체 시간에서 차지하는 비율을 의미합니다. 아래 그림을 예로 들면, 이번 호출 트레이스에는 CloudCare와 Mysql 두 개의 서비스가 포함되어 있으며 실행 시간 비율은 각각 42.37%와 57.63%입니다. CloudCare 서비스에는 2개의 Span, Mysql 서비스에는 10개의 Span이 있습니다.

  • Mysql 서비스 실행 시간 비율 계산 방식: 모든 span 실행 시간의 합 / 현재 호출 트레이스 총 시간.

계산 방식 설명: 아래 그림에서 Mysql 서비스에는 총 10개의 Span이 있습니다. 각 Span을 클릭하여 현재 Span의 실행 시간을 확인할 수 있습니다. 그림에서 이 Span의 실행 시간은 5.08ms임을 알 수 있습니다. 같은 방식으로 나머지 9개 Span의 실행 시간을 구해 합산합니다.

  • CloudCare 서비스 실행 시간 비율 계산 방식: (현재 호출 트레이스 총 시간 - mysql 서비스 실행 시간) / 현재 호출 트레이스 총 시간

계산 방식 설명: 아래 그림에서 CloudCare 서비스는 현재 전체 호출 트레이스에 걸쳐 있습니다. mysql 서비스의 실행 시간을 제외한 나머지 시간이 CloudCare 서비스의 실행 시간입니다(빨간 선으로 표시된 부분의 실행 시간 참조). 실행 시간 비율은 Span 목록에서 각 Span의 실행 시간과 실행 시간 비율을 직접 확인할 수도 있습니다.


플레임 그래프에서는 서비스 호출이 동기식이든 비동기식이든 각 트레이스 성능 데이터의 세부 사항을 명확하게 추적할 수 있습니다. 예를 들어 플레임 그래프를 통해 어떤 요청들이 비동기로 수행되었는지, 시작 시간, 종료 시간 및 총 소요 시간을 명확하게 확인할 수 있습니다.


Span 목록

  • 이 트레이스의 모든 Span 리소스 이름, 개수, 지속 시간, 실행 시간 및 비율을 표시합니다.
  • 리소스 이름 또는 Span ID를 입력하여 검색·매칭할 수 있습니다.
  • Span을 클릭하면 트레이스 상세에서 JSON 내용을 확인할 수 있으며, 플레임 그래프로 전환하면 동일하게 표시됩니다.
  • 오류가 있으면 오류 표시가 나타납니다.
  • Error Spans를 클릭하면 필터 조건에 일치하는 결과를 바로 표시합니다.

워터폴 차트

각 리소스 간의 부모-자식 관계를 확인할 수 있습니다.

워터폴 차트는 시작 시간 순서대로 Span 데이터를 표시합니다. 왼쪽 목록에는 각 리소스의 실행 시간 비율과 함께 Span 데이터가 표시되고, 오른쪽에는 시간 순서대로 워터폴 차트가 표시됩니다.

  • Span에 해당하는 리소스 이름 또는 Span ID를 입력하여 검색·매칭할 수 있습니다.
  • 원클릭으로 왼쪽 리소스를 접거나 펼칠 수 있습니다.
  • 을 클릭하면 실행 시간 형식을 전환할 수 있습니다.
  • Error Spans를 클릭하면 필터 조건에 일치하는 결과를 바로 표시할 수 있습니다.

서비스 호출 관계

서로 다른 서비스 간의 호출 관계와 호출 횟수, 개별 서비스의 실행 시간, 평균 소요 시간 및 호출 수를 종합적으로 표시합니다.

서비스 노드를 클릭하면 다음 상세 정보를 확인할 수 있습니다.

  • 서비스 작업 및 리소스: 해당 서비스에 포함된 구체적인 작업(예: API 인터페이스, 메서드 등)과 관련 리소스를 나열합니다.

  • 오류 상태 추적:

    • 해당 서비스에 오류가 있으면 오류 상세를 바로 표시합니다.

    • 클릭하면 서비스의 부모 Span을 확인하여 상위 호출 출처를 추적할 수 있습니다.

주의

시스템은 트레이스 상세 > 플레임 그래프에서 집계된 서비스의 error 결과에 따라 이곳 서비스의 색상을 표시합니다.

계측되지 않은 HTTP 외부 서비스

호출 트레이스가 계측되지 않은 HTTP 외부 서비스를 거칠 때, 시스템은 상·하위 Span 정보를 기반으로 해당 서비스를 식별하고 서비스 호출 관계에 가상 Gateway 노드를 생성합니다.

호출 관계는 다음과 같이 표시될 수 있습니다.

  • 고유 호출자를 식별할 수 있는 경우: 호출자 Service → Gateway → 하위 Service;
  • 고유 호출자를 식별할 수 없는 경우: Root → Gateway → 하위 Service.

Gateway 노드가 생성되려면 다음 조건을 모두 충족해야 합니다.

  • 하위가 HTTP Server Span일 것;
  • Server Span의 parent_id가 유효하고 0이 아닐 것;
  • 추가 조회 후에도 해당 부모 Span을 찾지 못할 것;
  • Span에 식별 가능한 외부 서비스 주소가 포함되어 있을 것.

HTTP Client Span만 존재하는 경우에는 Gateway 노드가 생성되지 않습니다.

가상 Gateway에는 별도의 Span이 없으므로 호출 횟수, 소요 시간, 오류 수가 계산되지 않으며 관련 메트릭은 -로 표시됩니다. 노드는 중립 상태로 표시됩니다.

Warning

가상 Gateway는 Trace 상세의 '서비스 호출 관계'에만 표시되며 워터폴 차트와 플레임 그래프에는 표시되지 않습니다.

Root Span은 trace_id와 parent_id=0을 기준으로 별도로 추가 조회되며, 데이터를 완전히 식별하는 데 최대 약 6시간이 걸릴 수 있습니다. 단일 Trace에 10,000개가 넘는 Span이 있으면 부모 Span이 조회 결과에 포함되지 않아 오판이 발생할 수 있습니다.

리소스 호출 관계

트레이스 상세에서 Span을 선택한 후 '서비스 호출 관계' 오른쪽의 '리소스 호출 관계' 탭으로 전환하면 해당 Span이 속한 서비스와 리소스의 상·하위 호출 관계를 확인할 수 있습니다.

관계 그래프는 선택한 시간 범위 내에서 해당 리소스의 집계된 호출 관계를 표시하며, 범위는 현재 Trace에 국한되지 않습니다. 같은 이름의 리소스는 속한 서비스별로 구분됩니다. 워크스페이스 간 조회가 활성화된 경우 현재 계정이 액세스 권한이 있는 워크스페이스만 조회합니다.

그래프 오른쪽 상단에는 별도의 시간 위젯이 제공됩니다. 시간 범위를 조정하면 리소스 호출 관계 그래프만 업데이트되며 외부 목록과 다른 상세 탭에는 영향을 주지 않습니다. 자동 새로고침은 기본적으로 꺼져 있으며, 수동 새로고침 시 현재 선택한 구간을 다시 조회합니다.

Span을 전환하면 시스템은 중심 리소스를 업데이트하고 새 Span의 시작 시간에 따라 시간 범위를 다시 초기화합니다. 동일한 Span 내에서 탭을 전환하면 조정된 시간 범위가 유지됩니다.

관계 그래프는 중심 리소스 노드를 강조 표시하며 노드 인스턴스 정보, 범례, 확대/축소, 캔버스 맞춤, 전체 화면 작업을 제공합니다. 전체 화면에 진입하거나 종료할 때 현재 리소스, 시간 범위 및 조회 결과가 유지됩니다.

Span에 필요한 서비스 또는 리소스 필드가 없으면 페이지에 조회할 수 없는 이유가 표시됩니다. 호출 관계 데이터가 없으면 시간 범위를 조정하여 다시 시도할 수 있으며, 조회에 실패하면 안내에 따라 다시 시도할 수 있습니다.

빠른 작업

작업
설명
전체 화면 보기/기본 크기 복원 트레이스 상세 오른쪽 상단의 전체 화면 보기 아이콘 을 클릭하면 가로로 확장된 트레이스 플레임 그래프를 확인할 수 있습니다. 기본 크기 복원 아이콘 을 클릭하면 상세 페이지로 돌아갑니다.
현재 Span으로 이동 클릭하면 뷰를 확대하여 현재 Span을 찾을 수 있습니다.
미니맵 펼치기/접기 트레이스 상세 왼쪽의 미니맵 펼치기/접기 아이콘 을 클릭하면 미니맵에서 구간 선택, 끌기, 스크롤로 플레임 그래프를 빠르게 확인할 수 있습니다.
전체 Trace 보기 트레이스 상세 왼쪽의 전체 Trace 보기 아이콘 을 클릭하면 플레임 그래프에서 전체 트레이스를 확인할 수 있습니다.
Span 더블 클릭 플레임 그래프 중앙에 해당 Span을 확대하여 표시하므로 컨텍스트에서 연관된 Span을 빠르게 찾아 확인할 수 있습니다.
서비스 이름 클릭 해당 Span을 강조 표시합니다. 서비스 이름을 다시 클릭하면 기본 상태인 전체 Span 선택으로 복원됩니다. 서비스 이름을 클릭하여 해당 서비스의 Span을 빠르게 필터링할 수 있습니다.

확장 속성

  • 검색창에 필드 이름 또는 값을 입력하여 빠르게 검색·이동할 수 있습니다.
  • 필드 별칭을 선택하면 필드 이름 뒤에 별칭을 확인할 수 있습니다. 필요에 따라 선택하세요.
  • 트레이스 상세 페이지의 확장 속성에서 현재 트레이스의 관련 필드 속성을 확인할 수 있습니다.
필드
속성
필드 값 필터링 이 필드를 탐색기에 추가하여 해당 필드와 관련된 모든 데이터를 확인할 수 있으며, 트레이스 탐색기에서 이 필드와 관련된 트레이스 목록을 필터링하여 볼 수 있습니다.
그림 1 참조
필드 값 역필터링 이 필드를 탐색기에 추가하여 해당 필드 이외의 다른 데이터를 확인할 수 있습니다.
표시 열에 추가 이 필드를 탐색기 목록에 추가하여 확인할 수 있습니다.
복사 이 필드를 클립보드에 복사합니다.

일부 필드는 필터링·집계 등 관련 로직을 지원하지 않습니다

Guance에는 전체 텍스트 인덱스를 사용하는 일부 필드가 있으며, 이 필드들은 필터링·집계 등 관련 로직을 지원하지 않습니다. 전체 텍스트 인덱스 필드 범위는 다음과 같습니다.

분류 필드
객체, 리소스 카탈로그 message
로그, 백업 로그 message
보안 message / title
네트워크 message
트레이스 error_message / error_stack
이벤트 message / title / df_message / df_title
RUM 오류 error_message / error_stack
RUM 긴 작업 long_task_message / long_task_stack

그림 1

오류 상세

트레이스 상세 페이지에서 현재 트레이스에 오류가 있으면 사이드바의 error span 필터 옵션을 선택할 수 있습니다. 시스템이 모든 오류 Span을 자동으로 강조 표시하며, 강조된 Span을 클릭하면 연결된 오류 스택, 로그 등 상세 정보를 확인할 수 있습니다.

자세한 내용은 오류 추적을 참조하세요.

서비스 컨텍스트

인프라스트럭처 리소스 카탈로그의 객체 분류를 가져오고 create_time을 기준으로 최신 객체를 선택하여 표시합니다. 이를 통해 현재 서비스의 실행 정보, 서비스 의존 관계, 통합 정보를 빠르게 확인할 수 있습니다.

연관 분석

로그를 통해 전체 트레이스의 모든 서비스와 연관된 로그 데이터(연관 필드: trace_id)를 확인할 수 있습니다. 표시 열을 사용자 지정할 수 있으며, 더 자세한 로그 내용이 필요하면 로그 내용을 클릭하여 로그 상세 페이지로 이동하거나 이동 버튼을 클릭하여 로그 페이지에서 열 수 있습니다.

시스템은 현재 트레이스의 service, env, version 등 필드를 기준으로 로그 인덱스 매핑을 매칭하고 해당 로그 인덱스를 자동으로 선택합니다. 기존 인덱스의 '서비스 매칭' 구성은 service 필드 매핑에 따라 계속 적용됩니다.

관리자 이상 권한이 있으면 연관 필드를 사용자 지정할 수 있습니다. 연관 필드 오른쪽의 설정 버튼을 클릭하고 표시된 대화상자에서 연관할 필드를 선택합니다. 직접 입력, 드래그하여 순서 변경 등의 작업을 지원하며, 확인하면 구성이 완료됩니다.

주의: 연관 로그 사용자 지정 필드와 서비스 목록 연관 분석 구성의 사용자 지정 필드는 서로 영향을 줍니다. 서비스 목록에서 사용자 지정 필드를 구성한 경우 이곳에도 동일하게 표시됩니다.

애플리케이션이 ddtrace 수집기를 사용하면서 APM 분산 추적과 Profile 성능 추적 데이터 수집을 동시에 활성화하면, 시스템은 Span 수준에서 코드 핫스팟을 연관하여 확인할 수 있는 기능을 제공합니다. 실행 시간, 메서드, 실행 시간 비율이 포함됩니다.

Profile 상세 보기를 클릭하면 Profile 상세 페이지로 이동하여 더 많은 연관 코드를 확인할 수 있습니다.

트레이스 상세 페이지에서 호스트를 통해 관련 호스트의 메트릭 뷰와 속성 뷰(연관 필드: host)를 확인할 수 있습니다.

  • 메트릭 뷰: 관련 호스트의 트레이스 종료 30분 전부터 종료 후 30분까지의 성능 메트릭 상태를 확인할 수 있습니다. 관련 호스트의 CPU, 메모리 등 성능 메트릭 뷰가 포함됩니다.

  • 속성 뷰: 트레이스 생성 시점의 호스트 객체 실제 상태를 되짚어 볼 수 있습니다. 관련 호스트의 해당 시간에 생성된 가장 최근 객체 데이터 한 건을 확인할 수 있으며, 호스트의 기본 정보, 통합 실행 상태가 포함됩니다. 클라우드 호스트 수집을 활성화한 경우 클라우드 제공업체 정보도 확인할 수 있습니다.

주의: Guance는 호스트 객체의 최근 48시간 히스토리 데이터를 기본적으로 저장합니다. 현재 트레이스 시간에 해당하는 호스트 히스토리 데이터를 찾지 못하면 연관 호스트의 속성 뷰를 확인할 수 없습니다.

트레이스 상세 페이지에서 컨테이너를 통해 관련 컨테이너의 메트릭 뷰와 속성 뷰(연관 필드: container_name)를 확인할 수 있습니다.

  • 메트릭 뷰: 관련 컨테이너의 트레이스 종료 30분 전부터 종료 후 30분까지 성능 메트릭 상태를 확인할 수 있으며, 컨테이너 CPU, 메모리 등 성능 메트릭 뷰가 포함됩니다.

  • 속성 뷰: 트레이스 생성 시점의 컨테이너 객체 실제 상태를 되짚어 볼 수 있으며, 관련 컨테이너의 해당 시간에 생성된 가장 최근 객체 데이터 한 건을 확인할 수 있습니다. 컨테이너의 기본 정보, 속성 정보가 포함됩니다.

트레이스 상세 페이지에서 Pod를 통해 관련 Pod의 속성 뷰와 메트릭 뷰(연관 필드: pod_name)를 확인할 수 있습니다.

  • 메트릭 뷰: 관련 컨테이너 Pod의 트레이스 종료 30분 전부터 종료 후 30분까지 성능 메트릭 상태를 확인할 수 있으며, 컨테이너 CPU, 메모리 등 성능 메트릭 뷰가 포함됩니다.

  • 속성 뷰: 트레이스 생성 시점의 컨테이너 Pod 객체 실제 상태를 되짚어 볼 수 있으며, 관련 컨테이너 Pod의 해당 시간에 생성된 가장 최근 객체 데이터 한 건을 확인할 수 있습니다. 컨테이너의 기본 정보, 속성 정보가 포함됩니다.

Guance는 네트워크에서 Host, Pod, Deployment, Service 등 다차원의 네트워크 토폴로지 및 요약 데이터를 확인할 수 있도록 지원합니다.

일치 필드:

상세 페이지에서 관련 네트워크를 확인하려면 해당 연관 필드가 일치해야 합니다. 즉, 데이터 수집 시 해당 필드 태그를 구성해야 합니다. 그렇지 않으면 상세 페이지에서 연관 네트워크 뷰를 매칭하여 확인할 수 없습니다.

  • Host: 일치 필드 host.

  • Pod:

일치 필드 우선순위
namespace, pod_name
namespace, pod
pod_name
pod
  • Deployment:
일치 필드 우선순위
namespace, deployment_name
namespace, deployment
deployment_name
deployment
  • Service:
일치 필드 우선순위
namespace, service_name
namespace, service

주의:

  • Host, Pod, Deployment, Service의 연관 필드가 동시에 조회되면 상세 페이지 진입 시 이 순서대로 네트워크 데이터가 표시됩니다.
  • 연관 필드가 조회되지 않으면 맨 끝에 회색으로 표시되며, 클릭하면 네트워크 뷰를 찾지 못했습니다라는 안내가 표시됩니다.

문서 평가

이 페이지가 도움이 되었나요?