쿼리 값 위젯
쿼리 값 위젯 (Query Value Widget)
출처: 문서
본문
쿼리 값(Query Value)은 주어진 메트릭, APM 또는 로그 쿼리의 현재 값을 표시해요. 값이 예상 범위에 있는지 전달하기 위해 조건부 서식(예: 녹색/노란색/빨간색 배경)이 함께 제공돼요. 여기에 선택적으로 시계열 데이터의 배경을 추가할 수도 있어요. 쿼리 값이 표시하는 값은 순간 측정일 필요는 없어요.
위젯은 보고된 최신 값, 또는 시간 창 전반의 모든 쿼리 값에서 계산된 집계를 표시할 수 있어요. 이러한 시각화는 인프라스트럭처 쿼리에 대한 좁지만 명확한 창을 제공해요.
설정 (Setup)
구성 (Configuration)
- 그래프로 그릴 데이터를 선택해요.
- 메트릭: 메트릭 쿼리를 구성하려면 쿼리 문서를 참고하세요.
- 인덱스 스팬(Indexed Spans): 인덱스 스팬 쿼리를 구성하려면 트레이스 검색 문서를 참고하세요.
- 로그 이벤트: 로그 이벤트 쿼리를 구성하려면 로그 검색 문서를 참고하세요.
- 쿼리 값을 지정된 시간 범위의 모든 데이터 포인트의
avg,min,sum,max,last값으로 계산된 단일 값으로 줄여요. 지원되는 곳에서는p75또는p90같은 백분위 값도 사용할 수 있어요. - 단위와 서식을 선택해요. 자동 서식(Autoformat)은 단위를 기준으로 대시보드 배율을 조정해요.
- (선택) 표시되는 값에 따라 조건부 서식을 구성해요. 더 많은 예시는 시각적 서식 규칙(Visual Formatting Rules)을 참고하세요.
- (선택) 시계열 배경을 오버레이해요.
- 최소에서 최대(Min to Max): 최소에서 최대까지의 배율 그래프.
- 선(Line): 0을 포함하는 배율 그래프.
- 막대(Bars): 개별적인 주기적 측정값을 표시.
옵션 (Options)
시각적 서식 규칙 (Visual formatting rules)
참고: 시각적 서식 규칙은 메트릭의 원시 값을 기준으로 해야 해요. 메트릭 기본 단위가 나노초인데 쿼리 값이 초로 자동 서식된다면, 조건부 규칙은 나노초 기준으로 정해야 해요.
시각적 서식 규칙으로 쿼리 값 위젯의 배경을 사용자화할 수 있어요. 배경 색상, 글꼴 색상, 또는 사용자 지정 이미지를 추가할 수 있어요. 사용자 지정 이미지의 경우 로컬 컴퓨터에서 이미지를 업로드하거나 공개 인터넷의 이미지를 참조할 수 있어요. 내부 이미지를 참조하려면 내부 서버가 교차 출처 요청(cross origin requests)을 지원하도록 업데이트해야 해요.
변경 표시기 (Change indicator)
변경 표시기(Change Indicator)를 활성화하면 현재 값이 이전 시간 범위와 어떻게 비교되는지 강조할 수 있어요.
- 표시(Display):
상대 변경(Relative Change, 백분율),절대 변경(Absolute Change, 원시 값),모두(Both), 또는끄기(Off) - 색상(Color):
증가가 좋음(Increases as better, 초록 ↑, 빨강 ↓),감소가 좋음(Decreases as better, 빨강 ↑, 초록 ↓), 또는중립(Neutral) - 비교 대상(Compared to):
이전 기간(Previous Period),이전 일/주/월(Previous Day/Week/Month), 또는사용자 지정(Custom)시간 범위
위젯은 기본 메트릭 아래에 차이를 표시해서, 최근 트렌드를 한눈에 강조하는 데 도움을 줘요.
컨텍스트 링크 (Context links)
컨텍스트 링크는 기본적으로 활성화되어 있으며 켜고 끌 수 있어요. 컨텍스트 링크는 대시보드 위젯을 Datadog의 다른 페이지 또는 타사 애플리케이션과 연결해줘요.
전역 시간 (Global time)
위젯이 사용자 지정 시간 범위를 가질지 대시보드의 전역 시간 범위를 사용할지 선택해요.
API
이 위젯은 **대시보드 API**와 함께 사용할 수 있어요. 위젯 JSON 스키마 정의에 대해서는 다음 표를 참고하세요.
쿼리 값 위젯의 최상위 필드에는 다음이 있어요.
| 필드 | 타입 | 설명 |
|---|---|---|
| autoscale | boolean | 자동 크기 조정(오토스케일) 사용 여부. |
| custom_links | object[] | 사용자 지정 링크 목록. |
| custom_unit | string | 위젯에 원하는 단위를 표시. |
| description | string | 위젯의 설명. |
| precision | int64 | 표시할 소수 자릿수. 정의하지 않으면 위젯은 원시 값을 사용해요. |
| requests [필수] | object[] | 위젯 정의. |
| time | object | 위젯의 시간 설정. |
| title | string | 위젯 제목. |
| type [필수] | enum | 쿼리 값 위젯 유형. 허용 enum 값: query_value |
requests 항목은 aggregator(avg,last,max,min,sum,percentile), comparison(변경 표시기용), conditional_formats, formulas, queries를 포함할 수 있어요. 전체 예시는 다음과 같아요.
{
"autoscale": false,
"custom_links": [
{
"is_hidden": false,
"label": "Search logs for {{host}}",
"link": "https://app.datadoghq.com/logs?query={{host}}",
"override_label": "logs"
}
],
"custom_unit": "string",
"description": "string",
"precision": "integer",
"requests": [
{
"aggregator": "string",
"apm_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
},
"audit_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
},
"comparison": {
"directionality": "string",
"duration": {
"custom_timeframe": {
"from": 1779290190000,
"to": 1779894990000
},
"type": "previous_timeframe"
},
"type": "string"
},
"conditional_formats": [
{
"comparator": ">",
"custom_bg_color": "string",
"custom_fg_color": "string",
"hide_value": false,
"image_url": "string",
"metric": "string",
"palette": "blue",
"timeframe": "string",
"value": 0
}
],
"event_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
},
"formulas": [
{
"alias": "string",
"cell_display_mode": "number",
"cell_display_mode_options": {
"trend_type": "area",
"y_scale": "shared"
},
"conditional_formats": [
{
"comparator": ">",
"custom_bg_color": "string",
"custom_fg_color": "string",
"hide_value": false,
"image_url": "string",
"metric": "string",
"palette": "blue",
"timeframe": "string",
"value": 0
}
],
"formula": "func(a) + b",
"limit": {
"count": "integer",
"order": "asc"
},
"number_format": {
"unit": {
"per_unit_name": "bytes",
"type": "canonical_unit",
"unit_name": "bytes"
},
"unit_scale": {
"type": "canonical_unit",
"unit_name": "bytes"
}
},
"style": {
"palette": "classic",
"palette_index": 1
}
}
],
"log_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
},
"network_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
},
"process_query": {
"filter_by": [],
"limit": "integer",
"metric": "system.load.1",
"search_by": "string"
},
"profile_metrics_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
},
"q": "string",
"queries": [],
"response_format": "timeseries",
"rum_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
},
"security_query": {
"compute": {
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
},
"group_by": [
{
"facet": "resource_name",
"limit": 50,
"sort": {
"aggregation": "avg",
"facet": "@string_query.interval",
"order": "desc"
}
}
],
"index": "days-3,days-7",
"multi_compute": [
{
"aggregation": "avg",
"facet": "@duration",
"interval": 5000
}
],
"search": {
"query": ""
}
}
}
],
"text_align": "string",
"time": {
"hide_incomplete_cost_data": false,
"live_span": "5m"
},
"timeseries_background": {
"type": "bars",
"yaxis": {
"include_zero": false,
"label": "string",
"max": "string",
"min": "string",
"scale": "string"
}
},
"title": "string",
"title_align": "string",
"title_size": "string",
"type": "query_value"
}