Pyroscope 템플릿 변수
Pyroscope 템플릿 변수 (Pyroscope template variables)
템플릿 변수는 서비스 이름이나 프로파일 유형 같은 하드코딩된 값을 선택 가능한 변수로 대체해 동적이고 재사용 가능한 대시보드를 만들 수 있게 해줘요. Grafana는 이 변수를 대시보드 상단의 드롭다운 메뉴로 표시해, 뷰어가 쿼리를 편집하지 않고 표시되는 데이터를 바꿀 수 있게 해줘요.
출처: 문서
본문
쿼리 변수 유형
쿼리 변수는 Pyroscope 데이터 소스를 쿼리해 드롭다운 값을 채워요. 쿼리 변수를 만들 때 Pyroscope 데이터 소스를 선택하고 쿼리 유형을 고르세요.
| 쿼리 유형 | 필수 입력 | 설명 |
|---|---|---|
| Profile type | 없음 | 데이터 소스에서 사용 가능한 프로파일 유형 반환. 드롭다운은 읽기 쉬운 라벨을 표시하고, 변수 값은 process_cpu:cpu:nanoseconds:cpu:nanoseconds 같은 전체 프로파일 유형 ID |
| Label | Profile type | 선택한 프로파일 유형에 사용 가능한 라벨 이름 반환. 예: service_name, namespace, region |
| Label value | Profile type, label | 선택한 프로파일 유형으로 범위가 지정된 선택 라벨의 값 반환 |
Label과 Label value 쿼리 유형은 프로파일 유형을, Label value는 라벨도 필요하므로, 각 변수가 이전 선택에 의존하도록 체인할 수 있어요.
쿼리 변수 만들기
대시보드 설정의 Variables에서 쿼리 변수를 추가하고, Pyroscope 데이터 소스와 쿼리 유형을 선택하면 돼요.
쿼리 변수 예시
드롭다운에서 프로파일 유형 선택 — profile_type 변수를 만들어 뷰어가 쿼리를 편집하지 않고 프로파일 유형을 바꿀 수 있게 하세요. 그런 다음 쿼리 에디터의 프로파일 유형 필드에 $profile_type을 참조할 수 있어요.
서비스로 드롭다운 채우기 — service 변수를 만들어 프로파일을 보내는 서비스를 나열하세요.
종속 변수 체인 — 각 변수가 다음을 좁힐 수 있게 결합하세요. 프로파일 유형 선택기, 라벨 선택기, 라벨 값 선택기를 만들어 모두 함께 업데이트하게 합니다. 뷰어가 profile_type을 바꾸면 라벨 드롭다운이 그 프로파일 유형의 라벨로 새로고침되고, label_value는 선택한 라벨의 값으로 새로고침돼요.
쿼리에서 변수 사용
변수를 만든 뒤 쿼리 에디터에서 $variable 또는 ${variable} 문법으로 참조하세요. 프로파일 유형 필드와 라벨 선택기 모두에서 변수를 참조할 수 있어요. 예를 들어 service_name 라벨에서 Label value 쿼리 유형으로 만든 service 변수가 있으면 라벨 선택기에서 참조하세요:
{service_name="$service"}
뷰어가 프로파일 유형을 바꾸게 하려면 쿼리 에디터의 프로파일 유형 필드에 $profile_type을 입력하세요. 변수에 Multi-value나 Include All이 활성화되면 값이 value1|value2 같은 정규식 패턴이 돼요. 라벨 선택기에서 = 대신 =~ 연산자를 사용하세요:
{service_name=~"$service"}
템플릿 변수를 사용할 수 있는 곳
Pyroscope 데이터 소스는 쿼리 에디터의 일부 부분에서만 템플릿 변수를 보간해요.
| 쿼리 에디터 필드 | 템플릿 변수 지원 |
|---|---|
| Profile type | 예 |
| Label selector | 예 |
| Group by | 아니오 |
| Span ID | 아니오 |
| Max Nodes | 아니오 |
| Limit | 아니오 |
참고: 프로파일 유형과 라벨 선택기 외의 필드는 템플릿 변수를 보간하지 않아요. Group by, Span ID, Max Nodes, Limit 필드에
$group같은 변수를 입력하면 Grafana는 변수 값 대신 리터럴 텍스트를 백엔드로 전달해요.
Filters 변수
Pyroscope 데이터 소스는 Filters 변수 유형을 지원해, 대시보드 뷰어가 쿼리를 편집하지 않고 라벨 필터를 추가할 수 있게 해줘요. 변수를 추가하면 대시보드 상단에 필터 바가 나타나고, 뷰어가 라벨, 연산자(=, !=, =~, !~), 값을 선택해 필터를 추가할 수 있어요. Grafana는 이 필터를 대시보드의 모든 Pyroscope 쿼리에 적용해요.