From 531dfb2555e952275979f8cb62f4f5380b8f43d7 Mon Sep 17 00:00:00 2001 From: Seefs Date: Fri, 19 Dec 2025 23:16:56 +0800 Subject: [PATCH] docs: document pyroscope env var --- .env.example | 2 ++ README.en.md | 2 ++ README.fr.md | 2 ++ README.ja.md | 2 ++ README.md | 2 ++ common/pyro.go | 9 +++++---- 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.env.example b/.env.example index c059777d3..ea9061fb3 100644 --- a/.env.example +++ b/.env.example @@ -14,6 +14,8 @@ # PYROSCOPE_APP_NAME=new-api # PYROSCOPE_BASIC_AUTH_USER=your-user # PYROSCOPE_BASIC_AUTH_PASSWORD=your-password +# PYROSCOPE_MUTEX_RATE=5 +# PYROSCOPE_BLOCK_RATE=5 # HOSTNAME=your-hostname # 数据库相关配置 diff --git a/README.en.md b/README.en.md index f53c9742a..d9a924fcb 100644 --- a/README.en.md +++ b/README.en.md @@ -311,6 +311,8 @@ docker run --name new-api -d --restart always \ | `PYROSCOPE_APP_NAME` | Pyroscope application name | `new-api` | | `PYROSCOPE_BASIC_AUTH_USER` | Pyroscope basic auth user | - | | `PYROSCOPE_BASIC_AUTH_PASSWORD` | Pyroscope basic auth password | - | +| `PYROSCOPE_MUTEX_RATE` | Pyroscope mutex sampling rate | `5` | +| `PYROSCOPE_BLOCK_RATE` | Pyroscope block sampling rate | `5` | | `HOSTNAME` | Hostname tag for Pyroscope | `new-api` | 📖 **Complete configuration:** [Environment Variables Documentation](https://docs.newapi.pro/installation/environment-variables) diff --git a/README.fr.md b/README.fr.md index 362a8b652..632d1ce90 100644 --- a/README.fr.md +++ b/README.fr.md @@ -307,6 +307,8 @@ docker run --name new-api -d --restart always \ | `PYROSCOPE_APP_NAME` | Nom de l'application Pyroscope | `new-api` | | `PYROSCOPE_BASIC_AUTH_USER` | Utilisateur Basic Auth Pyroscope | - | | `PYROSCOPE_BASIC_AUTH_PASSWORD` | Mot de passe Basic Auth Pyroscope | - | +| `PYROSCOPE_MUTEX_RATE` | Taux d'échantillonnage mutex Pyroscope | `5` | +| `PYROSCOPE_BLOCK_RATE` | Taux d'échantillonnage block Pyroscope | `5` | | `HOSTNAME` | Nom d'hôte tagué pour Pyroscope | `new-api` | 📖 **Configuration complète:** [Documentation des variables d'environnement](https://docs.newapi.pro/installation/environment-variables) diff --git a/README.ja.md b/README.ja.md index 258280f07..77efe796e 100644 --- a/README.ja.md +++ b/README.ja.md @@ -316,6 +316,8 @@ docker run --name new-api -d --restart always \ | `PYROSCOPE_APP_NAME` | Pyroscopeアプリ名 | `new-api` | | `PYROSCOPE_BASIC_AUTH_USER` | Pyroscope Basic Authユーザー | - | | `PYROSCOPE_BASIC_AUTH_PASSWORD` | Pyroscope Basic Authパスワード | - | +| `PYROSCOPE_MUTEX_RATE` | Pyroscope mutexサンプリング率 | `5` | +| `PYROSCOPE_BLOCK_RATE` | Pyroscope blockサンプリング率 | `5` | | `HOSTNAME` | Pyroscope用のホスト名タグ | `new-api` | 📖 **完全な設定:** [環境変数ドキュメント](https://docs.newapi.pro/installation/environment-variables) diff --git a/README.md b/README.md index 8210babe8..e0c371ecd 100644 --- a/README.md +++ b/README.md @@ -312,6 +312,8 @@ docker run --name new-api -d --restart always \ | `PYROSCOPE_APP_NAME` | Pyroscope 应用名 | `new-api` | | `PYROSCOPE_BASIC_AUTH_USER` | Pyroscope Basic Auth 用户名 | - | | `PYROSCOPE_BASIC_AUTH_PASSWORD` | Pyroscope Basic Auth 密码 | - | +| `PYROSCOPE_MUTEX_RATE` | Pyroscope mutex 采样率 | `5` | +| `PYROSCOPE_BLOCK_RATE` | Pyroscope block 采样率 | `5` | | `HOSTNAME` | Pyroscope 标签里的主机名 | `new-api` | 📖 **完整配置:** [环境变量文档](https://docs.newapi.pro/installation/environment-variables) diff --git a/common/pyro.go b/common/pyro.go index 739f1d116..b798f2c77 100644 --- a/common/pyro.go +++ b/common/pyro.go @@ -18,10 +18,11 @@ func StartPyroScope() error { pyroscopeBasicAuthPassword := GetEnvOrDefaultString("PYROSCOPE_BASIC_AUTH_PASSWORD", "") pyroscopeHostname := GetEnvOrDefaultString("HOSTNAME", "new-api") - // These 2 lines are only required if you're using mutex or block profiling - // Read the explanation below for how to set these rates: - runtime.SetMutexProfileFraction(5) - runtime.SetBlockProfileRate(5) + mutexRate := GetEnvOrDefault("PYROSCOPE_MUTEX_RATE", 5) + blockRate := GetEnvOrDefault("PYROSCOPE_BLOCK_RATE", 5) + + runtime.SetMutexProfileFraction(mutexRate) + runtime.SetBlockProfileRate(blockRate) _, err := pyroscope.Start(pyroscope.Config{ ApplicationName: pyroscopeAppName,