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

포인트 플롯 위젯

원문 보기 위키 갱신

포인트 플롯 위젯 (Point Plot Widget)

출처: 문서

본문

포인트 플롯(point plot)은 시간에 따른 개별 이벤트마다 점 하나씩을 표시해서, 집계되지 않은(unaggregated) 데이터 뷰를 제공해요. 트렌드를 평균 또는 집계된 선으로 시각화하는 시계열 위젯과 달리, 포인트 플롯은 원시(raw) 기본 데이터 포인트를 그대로 드러내요. 포인트 플롯을 사용해서 건강한 p95 뒤에 숨겨진 단 하나의 느린 요청을 잡아내고, 어느 특정 호스트나 서비스가 이상값(outlier)인지 식별하며, 해당 이벤트를 직접 클릭해서 조사할 수 있어요.

포인트 플롯은 이미 APM Traces, 데이터베이스 모니터링, 에이전트 관측성(Agent Observability) 탐색기에서 사용할 수 있어요. 이 위젯을 사용하면 동일한 뷰를 나만의 대시보드로 가져올 수 있어요.

설정 (Setup)

구성 (Configuration)

  1. 데이터 소스를 선택해요. 지원되는 소스에는 Logs, RUM, Traces, Spans, 데이터베이스 모니터링, 에이전트 관측성이 포함돼요.
  2. 플롯할 이벤트로 필터링할 쿼리를 정의해요.
  3. y축에 표시할 속성 또는 측정값을 선택해요 (예: 지연(latency)의 경우 duration, 오류 추적의 경우 error_rate).
  4. 선택 사항: 태그나 속성으로 이벤트를 그룹화해서 (예: service, host, env) 그룹별로 점 색상을 구분해요.
  5. 그래프 제목을 지정하거나, 필드를 비워 두면 제안된 제목이 사용돼요.

옵션 (Options)

Y축 컨트롤 (Y-axis controls)

옵션 설명
배율 (Scale) y축 배율을 선형(Linear) 또는 로그(Log) 로 설정해서 넓은 값 범위의 데이터를 처리해요.
최소/최대 (Min/Max) y축을 고정 범위로 고정하거나, 데이터에 맞추려면 자동(Auto) 으로 남겨 둬요.

가로 마커 (Horizontal markers)

SLO 목표나 알림 경계 같은 임계값을 표시하기 위한 기준선을 추가해요. 각 마커에는 라벨과 색상을 지정할 수 있어요.

위젯 간 하이라이트 (Cross-widget highlighting)

위젯 간 하이라이트를 활성화하면 데이터 포인트 위에 마우스를 올렸을 때 대시보드의 다른 호환 위젯에서 해당 시간 범위가 하이라이트돼요.

컨텍스트 링크는 기본적으로 활성화되어 있으며 켜고 끌 수 있어요. 컨텍스트 링크는 대시보드 위젯을 Datadog의 다른 페이지나 타사 애플리케이션과 연결해줘서, 포인트 플롯에서 관련 트레이스, 로그, 쿼리로 바로 피벗(pivot)할 수 있게 해줘요.

전역 시간 (Global time)

위젯이 사용자 지정 시간 범위를 가질지 대시보드의 전역 시간 범위를 사용할지 선택해요.

지원되는 데이터 소스 (Supported data sources)

데이터 소스 예시 사용 사례
APM Traces / Spans 서비스별 스팬당 지연, 오류율
Logs 시간에 따른 개별 로그 이벤트 값
RUM 세션별 로드 시간, 개별 액션 지속 시간
데이터베이스 모니터링 느린 쿼리 식별을 위한 개별 쿼리 지속 시간
에이전트 관측성 요청별 토큰 수, 지연, 오류율

사용 사례 (Use cases)

  • 집계에 숨겨진 이상값 찾아내기: 건강한 p95는 단 하나의 극도로 느린 요청을 가릴 수 있어요. 포인트 플롯은 그 개별 이벤트를 드러내서 직접 조사할 수 있게 해줘요.
  • 이상 현상의 원인 식별하기: service, host, env별로 점에 색상을 지정해서 어느 특정 엔티티가 다르게 동작하는지 정확히 찾아내요.
  • 이벤트별 성능 모니터링: 집계로 데이터가 평평해지지 않도록 개별 쿼리 지속 시간, 스팬 지연, 오류율을 추적해요.

API

이 위젯은 **대시보드 API**와 함께 사용할 수 있어요. 위젯 JSON 스키마 정의에 대해서는 다음 표를 참고하세요.

필드 타입 설명
custom_links object[] 사용자 지정 링크 목록.
is_hidden boolean 컨텍스트 메뉴 링크 표시 여부를 전환하는 플래그.
label string 사용자 지정 링크 URL의 라벨. 라벨을 짧고 명확하게 유지하세요. 메트릭과 태그를 변수로 사용하세요.
link string 사용자 지정 링크의 URL. URL은 http 또는 https를 포함해야 해요. 상대 URL은 /로 시작해야 해요.
override_label string 컨텍스트 메뉴 링크를 나타내는 라벨 ID. logs, hosts, traces, profiles, processes, containers, rum 중 하나가 될 수 있어요.
description string 위젯의 설명.
legend object 포인트 플롯 위젯의 범례 구성.
type [필수] enum 포인트 플롯 위젯에 표시할 범례 유형. 허용 enum 값: automatic,none
markers object[] 위젯의 마커 목록.
display_type string 다음 조합: 심각도 오류(error), 경고(warning), 정상(ok) 또는 정보(info); 선 유형: dashed, solid 또는 bold. Distribution 위젯의 경우 percentile로 설정할 수 있어요.
label string 마커 위에 표시할 라벨.
time string 위젯의 타임스탬프.
value [필수] string 적용할 값. 단일 값(y = 15) 또는 값 범위(0 < y < 10)일 수 있어요. display_type이 percentile로 설정된 Distribution 위젯의 경우 숫자 백분위 값(예: P90의 경우 "90")이어야 해요.
requests [필수] object[] 위젯의 요청 구성 목록.
limit int64 반환할 최대 데이터 포인트 수.
projection [필수] object 포인트 플롯 위젯의 프로젝션 구성.
dimensions [필수] object[] 프로젝션의 차원 매핑 목록.
alias string 열의 별칭.
column [필수] string 데이터셋의 소스 열 이름.
dimension [필수] enum 포인트 플롯의 차원. 허용 enum 값: group,time,y,radius
extra_columns string[] 프로젝션에 포함할 추가 열.
type [필수] enum 프로젝션 유형. 허용 enum 값: point_plot
query [필수] object 데이터 프로젝션 요청의 쿼리 구성.
data_source [필수] string 쿼리의 데이터 소스.
indexes string[] 쿼리할 인덱스 목록.
query_string [필수] string 이벤트를 필터링할 쿼리 문자열.
storage string 쿼리의 스토리지 위치.
request_type [필수] enum 데이터 프로젝션 요청 유형. 허용 enum 값: data_projection
time object 위젯의 시간 설정.
title string 위젯 제목.
title_align enum 위젯 텍스트 정렬 방식. 허용 enum 값: center,left,right
title_size string 제목 크기.
type [필수] enum 포인트 플롯 위젯 유형. 허용 enum 값: point_plot 기본값: point_plot
yaxis object 위젯의 축 컨트롤.
include_zero boolean true로 설정하면 0을 포함해요.
label string 그래프에 표시할 축의 라벨. Scatterplot 위젯에서만 사용할 수 있어요.
max string 축에 표시할 최대 숫자 값. 기본값: auto
min string 축에 표시할 최소 숫자 값. 기본값: auto
scale string 배율 유형. 가능한 값은 linear, log, sqrt, pow## (예: pow2 또는 pow0.5). 기본값: linear

time 객체는 라이브 스팬(live span) 래퍼이며 live_span(허용 enum: 1m,5m,10m,15m,30m,1h,4h,1d,2d,1w,1mo,3mo,6mo,week_to_date,month_to_date,1y,alert)과 hide_incomplete_cost_data 필드를 가져요.

예시:

{
  "custom_links": [
    {
      "is_hidden": false,
      "label": "Search logs for {{host}}",
      "link": "https://app.datadoghq.com/logs?query={{host}}",
      "override_label": "logs"
    }
  ],
  "description": "string",
  "legend": {
    "type": "automatic"
  },
  "markers": [
    {
      "display_type": "error dashed",
      "label": "Error threshold",
      "time": "string",
      "value": "y = 15"
    }
  ],
  "requests": [
    {
      "limit": "integer",
      "projection": {
        "dimensions": [
          {
            "alias": "string",
            "column": "duration",
            "dimension": "y"
          }
        ],
        "extra_columns": [],
        "type": "point_plot"
      },
      "query": {
        "data_source": "logs",
        "indexes": [],
        "query_string": "service:web-store",
        "storage": "string"
      },
      "request_type": "data_projection"
    }
  ],
  "time": {
    "hide_incomplete_cost_data": false,
    "live_span": "5m"
  },
  "title": "string",
  "title_align": "string",
  "title_size": "string",
  "type": "point_plot",
  "yaxis": {
    "include_zero": false,
    "label": "string",
    "max": "string",
    "min": "string",
    "scale": "string"
  }
}

더 알아보기 (Learn more)