NRQL을사용하면 buckets
함수를사용하여 쿼리 결과를 특정 범위를 포함하는 버킷으로 분할할 수 있습니다.
FACET buckets()
함수를 사용하여 히스토그램 또는 빈도 분포 생성과 같이 지정된 범위를 기반으로 데이터를 버킷으로 그룹화하고 분류할 수 있습니다. count()
또는 sum()
와 같은 집계 함수와 함께 사용하여 다양한 범위의 데이터 분포를 분석합니다.
다음은 몇 가지 사용 사례입니다.
- 응답 시간 분석:
FACET buckets()
사용하여 응답 시간을 범위(예: 0-100ms, 100-200ms, 200-300ms)로 그룹화하고 각 범위 내에서 개수 또는 평균 '시간을 계산할 수 있습니다. 이를 통해 응답 시간 분포를 이해하고 성능 문제를 식별할 수 있습니다. - 요청 크기 검사: 요청 크기에
FACET buckets()
을 사용하면 요청 크기를 다양한 버킷(예: 0-1KB, 1-5KB, 5-10KB)으로 분류하고 각 버킷에 속하는 요청 빈도를 분석할 수 있습니다. 이는 패턴을 식별하고 리소스 할당을 최적화하는 데 도움이 될 수 있습니다. - 오류율 모니터링: 오류 코드 또는 오류율에
FACET buckets()
사용하여 특정 범위로 그룹화할 수 있습니다. 예를 들어 다양한 HTTP 오류 코드(예: 400, 500 등) 또는 오류율 범위(예: 0-1% 또는 1-5%)에 대한 버킷을 생성할 수 있습니다. 이를 통해 오류 분포를 추적하고 주의가 필요한 영역을 식별할 수 있습니다. - 사용자 참여 추적: 세션 시간, 페이지 조회수 등 사용자 참여와 관련된 지표가 있는 경우
FACET buckets()
를 사용하여 이를 시간 간격으로 그룹화할 수 있습니다. 이를 통해 사용자가 다양한 시간 범위에 걸쳐 애플리케이션이나 웹사이트에 어떻게 참여하는지 분석할 수 있습니다.
버킷 NRQL 쿼리 생성
버킷화된 결과를 반환하려면 NRQL 쿼리에 FACET buckets()
절을 사용하세요. 버킷 쿼리의 구조는 다음과 같습니다.
SELECT FUNCTION(ATTRIBUTE) FROM DATA_TYPE FACET buckets(ATTRIBUTE, CEILING_VALUE, NUMBER_OF_BUCKETS)
New Relic 데이터베이스에 숫자 값으로 저장된 모든 속성과 함께 버킷화된 NRQL 쿼리를 사용할 수 있습니다.
버킷 쿼리 예시
버킷 쿼리를 구성하려면 다음 안내를 따르세요.
- 속성에 대한
SELECT
문으로 NRQL 문을 만듭니다. 예:SELECT average(duration)
. buckets()
에 패싯을 적용하는FACET
절을 추가합니다. 예를 들면buckets(duration, 40, 10)
입니다.SELECT
문에 있는 속성과 다른 속성을 버킷할 수도 있습니다. 예를 들어 데이터베이스 호출의 평균 기간을 표시하려면 다음과 같습니다.buckets(databaseCallCount, 40, 10)
.
다음 쿼리는 10개 버킷에 걸쳐 특정 페이지 경로의 평균 지속 시간을 계산하며 상한은 40입니다. 상한인 40을 초과하는 모든 값은 마지막 버킷인 >=36.0
에 그룹화됩니다.
SELECT average(duration) FROM PageView WHERE pageUrl LIKE 'http://webportal.telco%' SINCE 1 week ago FACET buckets(duration, 40, 10)
이 쿼리는 다음 결과를 반환합니다.
다음은 세그먼트가 10개의 버킷으로 구분된 NRQL 쿼리의 예입니다. 하단 버킷에는 이상치가 포함되어 있으므로 그에 맞게 조정해야 할 수도 있습니다.