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 쿼리에 적용해요.

더 알아보기 (Learn more)