TOP 명령어
TOP 명령어
top 명령어는 필드 목록에 지정된 모든 필드에 걸쳐 가장 흔한 값 조합을 찾아요. top 명령어는 도메인 특화 언어(DSL)로 다시 쓰여지지 않고, 코디네이팅 노드에서만 실행돼요.
출처: 문서
본문
top 명령어는 필드 목록에 지정된 모든 필드에 걸쳐 가장 흔한 값 조합을 찾아요.
top 명령어는 도메인 특화 언어(DSL)로 다시 쓰여지지 않아요. 코디네이팅 노드에서만 실행돼요.
구문 (Syntax)
top 명령어의 구문은 다음과 같아요:
top [N] [top-options] <field-list> [by-clause]
매개변수 (Parameters)
top 명령어는 다음 매개변수를 지원해요.
| 매개변수 | 필수/선택 | 설명 |
|---|---|---|
<N> |
선택 | 반환할 결과 개수예요. 기본값은 10이에요. |
top-options |
선택 | showcount: 값 튜플의 개수를 나타내는 필드를 출력에 만들지 여부예요. 기본값은 true예요. countfield: 개수가 들어 있는 필드의 이름이에요. 기본값은 count예요. usenull: null 값 출력 여부예요. 기본값은 plugins.ppl.syntax.legacy.preferred의 값이에요. |
<field-list> |
필수 | 쉼표로 구분된 필드 이름 목록이에요. |
<by-clause> |
선택 | 결과를 그룹화할 하나 이상의 필드예요. |
예제 1: 기본 count 컬럼에 개수 표시하기
다음 쿼리는 가장 흔한 심각도 수준을 찾아요:
source=otellogs
| top severityText
기본적으로 top 명령어는 각 값의 빈도를 보여주는 count 컬럼을 자동으로 포함해요:
severityText | count
ERROR | 7
INFO | 6
WARN | 4
DEBUG | 3
예제 2: count 표시 없이 가장 흔한 값 찾기
다음 쿼리는 showcount=false를 사용해 결과에서 count 컬럼을 숨겨요:
source=otellogs
| top showcount=false severityText
쿼리는 다음과 같은 결과를 반환해요:
severityText
ERROR
INFO
WARN
DEBUG
예제 3: count 컬럼 이름 변경하기
다음 쿼리는 countfield 매개변수를 사용해 count 컬럼의 이름을 기본 count 대신 사용자 지정 이름(cnt)으로 지정해요:
source=otellogs
| top countfield='cnt' severityText
쿼리는 다음과 같은 결과를 반환해요:
severityText | cnt
ERROR | 7
INFO | 6
WARN | 4
DEBUG | 3
예제 4: 반환 결과 개수 제한하기
다음 쿼리는 가장 흔한 심각도 수준 1개를 반환해요:
source=otellogs
| top 1 showcount=false severityText
쿼리는 다음과 같은 결과를 반환해요:
severityText
ERROR
예제 5: 결과 그룹화하기
다음 쿼리는 각 서비스 내에서 가장 흔한 심각도 수준을 찾아요:
source=otellogs
| top 1 showcount=false severityText by `resource.attributes.service.name`
쿼리는 다음과 같은 결과를 반환해요:
resource.attributes.service.name | severityText
product-catalog | WARN
frontend-proxy | WARN
recommendation | ERROR
payment | ERROR
checkout | ERROR
cart | DEBUG
frontend | INFO
예제 6: null 값 처리 지정하기
다음 쿼리는 usenull=false를 지정해 null 값을 제외해요:
source=otellogs
| top usenull=false instrumentationScope.name
쿼리는 다음과 같은 결과를 반환해요:
instrumentationScope.name | count
@opentelemetry/instrumentation-http | 2
Microsoft.Extensions.Hosting | 1
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc | 1
다음 쿼리는 usenull=true를 지정해 null 값을 결과에 포함해요:
source=otellogs
| top usenull=true instrumentationScope.name
쿼리는 다음과 같은 결과를 반환해요:
instrumentationScope.name | count
null | 16
@opentelemetry/instrumentation-http | 2
Microsoft.Extensions.Hosting | 1
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc | 1