Apollo

Supported OS Linux Windows Mac OS

개요

Apollo Datadog 통합을 이용하면 Studio 성능 메트릭을 Datadog 계정으로 전송할 수 있습니다. Datadog에서 고급 함수 API를 지원하기 때문에 GraphQL 메트릭용 그래프와 알림을 생성할 수 있습니다.

메트릭

Studio에서는 다음 메트릭을 Datadog로 전송합니다.

  • apollo.operations.count - 실행된 GraphQL 작동 수. 쿼리 수, 변이 수, 오류가 난 작동 수 포함.

  • apollo.operations.error_count - 오류가 난 GraphQL 작동 수. 실행 오류 및 Studio가 서버 연결에 실패한 경우 HTTP 오류 횟수 포함.

  • apollo.operations.cache_hit_count - Apollo Server의 전체 쿼리 캐시에서 응답한 GraphQL 쿼리 개수

  • 밀리초 단위로 측정한 GraphQL 작동 응답 시간. Studio의 합산 메서드(로그 묶기) 때문에 오차 범위(+/- 5%)가 있음.

    • apollo.operations.latency.min
    • apollo.operations.latency.median
    • apollo.operations.latency.95percentile
    • apollo.operations.latency.99percentile
    • apollo.operations.latency.max
    • apollo.operations.latency.avg

이 메트릭은 60초 간격으로 합산되고 GraphQL 운영 이름 operation:<query-name>으로 태그됩니다. 운영 이름이 동일하며 고유한 쿼리 서명은 병합되고 운영 이름이 없는 쿼리는 무시됩니다.

또 Studio에 있는 여러 그래프의 데이터를 동일한 Datadog 계정으로 보낼 수 있도록 관련 Studio 그래프 ID(예: graph:<graph-id>)와 관련 변형 이름(예: variant:<variant-name>)으로 메트릭을 태그합니다. 변형 이름을 설정하지 않으면 current이 사용됩니다.

(2020년 10월 이전에 통합을 설정한 경우에는 메트릭 이름이 apollo.operations가 아닌 apollo.engine.operations로 시작하며 graph 태그 대신 service 태그가 사용됩니다. Apollo Studio의 그래프 통합 페이지에서 새 메트릭 이름으로 마이그레이션할 수 있습니다.)

설정

설정

Datadog API 키와 리전을 Studio에 제공하기만 하면 Apollo Datadog 통합을 바로 시작할 수 있습니다. 다른 구성이 필요 없습니다.

  1. Datadog 통합 페이지로 이동해 Apollo 타이틀을 클릭하세요. Configuration 탭으로 이동한 후 하단에 있는 Install Integration을 클릭하세요.

  2. Datadog API 페이지로 이동해 API 키를 생성하세요.

  3. 내 브라우저 주소 바에서 Datadog API 리전을 확인하세요.

  • 도메인 이름이 app.datadoghq.com이면 API 리전이 US입니다.
  • 도메인 이름이 app.datadoghq.eu이면 API 리전이 EU입니다.
  1. Studio에서 그래프 통합 페이지로 이동하세요.

    IntegrationsPage

  2. Datadog Forwarding 섹션에서 Configure을 클릭하세요. API 키와 리전을 입력하고 Enable을 클릭하세요. 전송되는 메트릭 전체에 해당 그래프 ID(graph:<graph-id>)가 태그되기 때문에 그래프 전체에 같은 API 키를 사용할 수 있습니다.

    IntegrationsToggle

  3. Datadog 메트릭 탐색기로 이동해 내 메트릭을 확인하세요. 메트릭이 표시되는 데 최대 5분 정도 걸립니다.

사용량

자세한 사용량 정보를 보려면 Apollo 통합 설명서를 참고하세요.

수집한 데이터

메트릭

apollo.operations.count
(gauge)
Number of GraphQL operations (queries and mutations) processed.
Shown as operation
apollo.operations.latency.avg
(gauge)
Total request duration for a GraphQL operation, average.
Shown as millisecond
apollo.operations.latency.median
(gauge)
Total request duration for a GraphQL operation, median/50th percentile.
Shown as millisecond
apollo.operations.latency.95percentile
(gauge)
Total request duration for a GraphQL operation, 95th percentile.
Shown as millisecond
apollo.operations.latency.99percentile
(gauge)
Total request duration for a GraphQL operation, 99th percentile.
Shown as millisecond
apollo.operations.latency.max
(gauge)
Total request duration for a GraphQL operation, max/100th percentile.
Shown as millisecond
apollo.operations.latency.min
(gauge)
Total request duration for a GraphQL operation, min/0th percentile.
Shown as millisecond
apollo.operations.error_count
(gauge)
Number of GraphQL operations that resulted in a GraphQL error, including HTTP errors from origins.
Shown as error
apollo.operations.cache_hit_count
(gauge)
Number of GraphQL queries that were served from the full response cache.
Shown as hit
apollo.engine.operations.count
(gauge)
Number of GraphQL operations (queries and mutations) processed. (Legacy metric; new integrations use apollo.operations.count.)
Shown as operation
apollo.engine.operations.latency.avg
(gauge)
Total request duration for a GraphQL operation, average. (Legacy metric; new integrations use apollo.operations.latency.avg.)
Shown as millisecond
apollo.engine.operations.latency.median
(gauge)
Total request duration for a GraphQL operation, median/50th percentile. (Legacy metric; new integrations use apollo.operations.latency.median.)
Shown as millisecond
apollo.engine.operations.latency.95percentile
(gauge)
Total request duration for a GraphQL operation, 95th percentile. (Legacy metric; new integrations use apollo.operations.latency.95percentile.)
Shown as millisecond
apollo.engine.operations.latency.99percentile
(gauge)
Total request duration for a GraphQL operation, 99th percentile. (Legacy metric; new integrations use apollo.operations.latency.99percentile.)
Shown as millisecond
apollo.engine.operations.latency.max
(gauge)
Total request duration for a GraphQL operation, max/100th percentile. (Legacy metric; new integrations use apollo.operations.latency.max.)
Shown as millisecond
apollo.engine.operations.latency.min
(gauge)
Total request duration for a GraphQL operation, min/0th percentile. (Legacy metric; new integrations use apollo.operations.latency.min.)
Shown as millisecond
apollo.engine.operations.error_count
(gauge)
Number of GraphQL operations that resulted in a GraphQL error, including HTTP errors from origins. (Legacy metric; new integrations use apollo.operations.error_count.)
Shown as error
apollo.engine.operations.cache_hit_count
(gauge)
Number of GraphQL queries that were served from the full response cache. (Legacy metric; new integrations use apollo.operations.cachehitcount.)
Shown as hit

이벤트

Apollo 통합에는 아직 이벤트가 포함되지 않습니다.

서비스 검사

Apollo 통합에는 아직 서비스 점검이 포함되지 않습니다.

트러블슈팅

도움이 필요하신가요? Datadog 지원팀에 문의하세요.