GraphQL
개요
Cheolsu Proxy는 GraphQL 요청과 응답을 자동으로 감지하고 분석합니다. 일반 HTTP 트래픽 목록에서는 모든 GraphQL 요청이 같은 엔드포인트(/graphql)로 표시되어 구분이 어렵지만, GraphQL 대시보드에서는 작업 이름, 타입, 변수 등 GraphQL 고유 정보를 기준으로 트래픽을 분류합니다.
자동 감지
다음 조건 중 하나를 만족하면 GraphQL 요청으로 자동 감지합니다:
- POST 요청 바디에
query필드가 존재 - Content-Type에
graphql이 포함 - GET 요청의 쿼리 파라미터에
query가 포함 - 배치 쿼리 (배열 형태의 요청 바디)
분석 정보
작업 정보
응답 분석
배치 쿼리
하나의 HTTP 요청에 여러 GraphQL 작업이 포함된 배치 쿼리를 지원합니다. 각 작업은 배치 인덱스와 함께 개별적으로 표시됩니다.
활용 사례
작업별 필터링
Query와 Mutation을 구분하여 데이터 변경 작업만 모니터링하거나, 특정 작업 이름으로 필터링하여 관심 있는 API 호출만 추적할 수 있습니다.
에러 추적
GraphQL 에러는 HTTP 상태 코드 200으로 반환되는 경우가 많아 일반적인 HTTP 모니터링으로는 감지하기 어렵습니다. GraphQL 대시보드에서는 응답의 errors 필드를 파싱하여 에러를 명확하게 표시합니다.
N+1 쿼리 감지
Analytics와 연동하여 동일한 엔드포인트에 대한 반복 쿼리를 탐지하고, N+1 문제를 식별할 수 있습니다.
사용 방법
Desktop
- 사이드바에서 GraphQL 메뉴 선택
- 작업 목록에서 Query/Mutation/Subscription 별로 확인
- 작업을 선택하면 쿼리, 변수, 응답 상세 정보 표시
