Grafana Pyroscope CPU 프로파일링

Grafana Pyroscope CPU 프로파일링 (Grafana Pyroscope CPU profiling)

LiteLLM proxy는 환경 변수로 활성화하면 Grafana Pyroscope에 연속 CPU 프로파일을 보낼 수 있어요. 선택 사항이며 기본적으로 꺼져 있어요.

출처: 문서

본문

빠른 시작 (Quick Start)

  1. 선택 의존성 설치 (Pyroscope를 활성화할 때만 필요):
uv add pyroscope-io

또는 proxy extra를 설치해요:

uv add "litellm[proxy]"
  1. 프록시를 시작하기 전에 환경 변수를 설정해요:
변수 (Variable) 필수 (Required) 설명 (Description)
LITELLM_ENABLE_PYROSCOPE 예 (활성화하려면) true로 설정하면 Pyroscope 프로파일링을 활성화해요.
PYROSCOPE_APP_NAME 예 (활성화 시) Pyroscope UI에 표시되는 애플리케이션 이름이에요.
PYROSCOPE_SERVER_ADDRESS 예 (활성화 시) Pyroscope 서버 URL (예: http://localhost:4040).
PYROSCOPE_SAMPLE_RATE 아니요 샘플링 레이트(정수). 설정하지 않으면 pyroscope-io 라이브러리 기본값을 사용해요.
PYROSCOPE_GRAFANA_USER 아니요 Grafana Cloud Pyroscope 사용자/테넌트 ID. PYROSCOPE_GRAFANA_API_TOKEN이 설정되면 필요해요.
PYROSCOPE_GRAFANA_API_TOKEN 아니요 Grafana Cloud API/access policy 토큰. Pyroscope basic auth 비밀번호로 사용돼요.
  1. 프록시를 시작하면 프로파일링이 자동으로 시작돼요.
export LITELLM_ENABLE_PYROSCOPE=true
export PYROSCOPE_APP_NAME=litellm-proxy
export PYROSCOPE_SERVER_ADDRESS=http://localhost:4040
litellm --config config.yaml

Grafana Cloud Pyroscope를 사용한다면 PYROSCOPE_SERVER_ADDRESS로 Profiles 엔드포인트를 사용하고 Grafana Cloud 자격 증명을 설정해요:

export LITELLM_ENABLE_PYROSCOPE=true
export PYROSCOPE_APP_NAME=litellm-proxy
export PYROSCOPE_SERVER_ADDRESS=https://profiles-prod-<region>.grafana.net
export PYROSCOPE_GRAFANA_USER=<grafana-cloud-pyroscope-user>
export PYROSCOPE_GRAFANA_API_TOKEN=<grafana-cloud-api-or-access-policy-token>
litellm --config config.yaml
  1. Pyroscope(또는 Grafana) UI에서 프로파일을 확인하고 PYROSCOPE_APP_NAME을 선택해요.

참고 사항 (Notes)

  • 선택 의존성: pyroscope-io는 선택 의존성이에요. 설치되어 있지 않은데 LITELLM_ENABLE_PYROSCOPE=true면, 프록시는 경고를 로깅하고 프로파일링 없이 계속 실행돼요.
  • 플랫폼 지원: pyroscope-io 패키지는 네이티브 확장을 사용하며 모든 플랫폼에서 사용할 수는 없어요 (예: Windows는 패키지에서 제외됨).
  • 기타 설정: 모든 proxy 환경 변수는 Configuration settings 문서를 참고해요.

더 알아보기 (Learn more)