diff --git a/en/self-host/deploy/configuration/environments.mdx b/en/self-host/deploy/configuration/environments.mdx
index b8ae92249c..28759ca457 100644
--- a/en/self-host/deploy/configuration/environments.mdx
+++ b/en/self-host/deploy/configuration/environments.mdx
@@ -1196,13 +1196,14 @@ By default, sign-in is email + password, and new accounts come from workspace in
#### LLMOps Trace Delivery
-Traces of app runs are delivered to the configured LLMOps provider (Langfuse, LangSmith, Arize/Phoenix, and so on) by a background task. These variables govern its retries on transient failures.
+Traces of app runs are delivered to the configured LLMOps provider (Langfuse, LangSmith, Arize/Phoenix, and so on) by a background task. For Docker Compose deployments, set these variables in `docker/envs/core-services/shared.env`.
| Variable | Default | Description |
|---|---|---|
+| `OPS_TRACE_UNIFIED_ENABLED` | `false` | Set to `true` to give LangSmith and Arize/Phoenix traces a common structure for workflow runs, nodes, and their parent-child relationships. The default `false` uses each provider's original tracing implementation. Other providers are unaffected.
Each app still needs LLMOps enabled and a provider configured. |
| `OPS_TRACE_RETRYABLE_DISPATCH_MAX_RETRIES` | `780` | How many times a trace delivery is retried after a transient failure before the trace is dropped.
The default retry window (retries × `OPS_TRACE_RETRYABLE_DISPATCH_DELAY_SECONDS`) is sized to outlast the one-hour workflow limit plus the export grace period.
Today only Arize/Phoenix tracing of nested workflows hits this path (a child trace arriving before its parent's context). Cannot be `0`. |
| `OPS_TRACE_RETRYABLE_DISPATCH_DELAY_SECONDS` | `5` | Seconds between those retries; the total tolerance window is delay × max retries (about 65 minutes at defaults).
Lower delivers nested traces sooner but exhausts the retry budget faster. Cannot be `0`. |
-| `OPS_TRACE_PARENT_CONTEXT_TTL_SECONDS` | `3900` | How long in seconds a parent workflow's trace context stays available for nested child traces to attach to.
Keep it at or above the retry window (retries × delay). |
+| `OPS_TRACE_PARENT_CONTEXT_TTL_SECONDS` | `3900` | How long in seconds a parent workflow's trace context stays available for nested child traces to attach to.
When `OPS_TRACE_UNIFIED_ENABLED` is `true`, keep this at or above the retry window (retries × delay). A lower value prevents Dify from loading its configuration. |
#### Indexing
diff --git a/ja/self-host/deploy/configuration/environments.mdx b/ja/self-host/deploy/configuration/environments.mdx
index 511041fe54..08cc0249ff 100644
--- a/ja/self-host/deploy/configuration/environments.mdx
+++ b/ja/self-host/deploy/configuration/environments.mdx
@@ -1194,13 +1194,14 @@ Dify はアカウント招待、パスワードリセット、ログインコー
#### LLMOps トレース配信
-アプリ実行のトレースは、バックグラウンドタスクが LLMOps プロバイダーへ配信します。対象のプロバイダーは Langfuse、LangSmith、Arize/Phoenix などです。以下の変数は、一時的な失敗時のリトライを制御します。
+アプリ実行のトレースは、バックグラウンドタスクが LLMOps プロバイダーへ配信します。対象のプロバイダーは Langfuse、LangSmith、Arize/Phoenix などです。Docker Compose でデプロイする場合は、`docker/envs/core-services/shared.env` にこれらの変数を設定します。
| 変数 | デフォルト値 | 説明 |
|---|---|---|
+| `OPS_TRACE_UNIFIED_ENABLED` | `false` | `true` にすると、LangSmith と Arize/Phoenix のトレースに共通の構造を使います。ワークフロー実行、ノード、それらの親子関係を記録します。デフォルトの `false` では、各プロバイダーの従来のトレース実装を使います。他のプロバイダーには影響しません。
各アプリで LLMOps を有効にし、プロバイダーを設定する必要があります。 |
| `OPS_TRACE_RETRYABLE_DISPATCH_MAX_RETRIES` | `780` | 一時的な失敗後にトレース配信をリトライする最大回数。超えるとそのトレースは破棄されます。
デフォルトのリトライ時間(回数 × `OPS_TRACE_RETRYABLE_DISPATCH_DELAY_SECONDS`)は、1 時間のワークフロー上限とエクスポート猶予期間を上回るよう設定されています。
現在この経路に入るのは、Arize/Phoenix でネストしたワークフローをトレースする場合のみです。子トレースが親のコンテキストより先に届くと発生します。`0` は指定できません。 |
| `OPS_TRACE_RETRYABLE_DISPATCH_DELAY_SECONDS` | `5` | リトライの間隔(秒)。許容ウィンドウは間隔 × 最大回数(デフォルトで約 65 分)です。
小さくするとネストしたトレースが早く届く一方、リトライ回数を早く使い切ります。`0` は指定できません。 |
-| `OPS_TRACE_PARENT_CONTEXT_TTL_SECONDS` | `3900` | 親ワークフローのトレースコンテキストを保持する時間(秒)。保持中は、後から届くネストした子トレースが親に接続できます。
リトライ時間(回数 × 間隔)以上に設定してください。 |
+| `OPS_TRACE_PARENT_CONTEXT_TTL_SECONDS` | `3900` | 親ワークフローのトレースコンテキストを保持する時間(秒)。保持中は、後から届くネストした子トレースが親に接続できます。
`OPS_TRACE_UNIFIED_ENABLED` が `true` の場合、リトライ時間(回数 × 間隔)以上に設定してください。これより小さいと、Dify は設定を読み込めません。 |
#### インデックス作成
diff --git a/zh/self-host/deploy/configuration/environments.mdx b/zh/self-host/deploy/configuration/environments.mdx
index b07817667a..212c79f7a3 100644
--- a/zh/self-host/deploy/configuration/environments.mdx
+++ b/zh/self-host/deploy/configuration/environments.mdx
@@ -1194,13 +1194,14 @@ Dify 发送邮件用于账户邀请、密码重置、登录验证码和人工输
#### LLMOps 追踪投递
-应用运行的追踪数据由后台任务投递给所配置的 LLMOps 供应商(Langfuse、LangSmith、Arize/Phoenix 等)。以下变量控制遇到瞬时失败后的重试行为。
+应用运行的追踪数据由后台任务投递给所配置的 LLMOps 供应商(Langfuse、LangSmith、Arize/Phoenix 等)。使用 Docker Compose 部署时,在 `docker/envs/core-services/shared.env` 中设置这些变量。
| 变量 | 默认值 | 说明 |
|---|---|---|
+| `OPS_TRACE_UNIFIED_ENABLED` | `false` | 设为 `true` 后,LangSmith 和 Arize/Phoenix 的追踪数据采用统一结构,记录工作流运行、节点及其父子关系。默认值 `false` 保留各供应商原有的追踪实现。其他供应商不受影响。
各应用仍需单独开启 LLMOps 并配置供应商。 |
| `OPS_TRACE_RETRYABLE_DISPATCH_MAX_RETRIES` | `780` | 追踪投递遇到瞬时失败后的最大重试次数,超出后该条追踪数据被丢弃。
默认重试窗口(次数 × `OPS_TRACE_RETRYABLE_DISPATCH_DELAY_SECONDS`)按覆盖一小时工作流上限加导出宽限期设定。
目前只有 Arize/Phoenix 追踪嵌套工作流时会触发(子追踪先于父级上下文到达)。不能设为 `0`。 |
| `OPS_TRACE_RETRYABLE_DISPATCH_DELAY_SECONDS` | `5` | 两次重试的间隔秒数;总容忍窗口约为间隔 × 最大次数(默认约 65 分钟)。
调低可让嵌套追踪更快送达,但重试次数消耗更快。不能设为 `0`。 |
-| `OPS_TRACE_PARENT_CONTEXT_TTL_SECONDS` | `3900` | 父工作流追踪上下文的保留时长(秒),供后到的嵌套子追踪挂接。
取值应不低于重试窗口(次数 × 间隔)。 |
+| `OPS_TRACE_PARENT_CONTEXT_TTL_SECONDS` | `3900` | 父工作流追踪上下文的保留时长(秒),供后到的嵌套子追踪挂接。
当 `OPS_TRACE_UNIFIED_ENABLED` 为 `true` 时,取值必须不低于重试窗口(次数 × 间隔)。低于此值会导致 Dify 无法加载配置。 |
#### 索引