# API 延迟预算规划器

规划并可视化 API 延迟预算。输入 P99 目标（如 ≤ 300ms）和各阶段分配（DNS、TCP、TLS、TTFB、Processing、Network），查看实时瀑布图、预算占用和超标告警。可选粘贴 OpenTelemetry 或 Datadog trace，反推基于真实测量的分配建议。

> 标准页面: https://elysiatools.com/zh/tools/api-latency-budget-planner

- **分类:** Development

- **关键词:** 延迟预算, SLO, P99, 瀑布图, opentelemetry, datadog, trace, 性能预算, API, TTFB, 请求阶段, SRE, 可观测性, APM

## 概述

面向 SRE 和 API 设计者的 SLO / 性能预算规划器：

1. **总预算** —— 设定 P99 目标（如 300ms）。可选选择服务等级目标标签（P50/P90/P99/P99.9），显示在摘要中。
2. **阶段分配** —— 每行列出一个请求阶段及其预算毫秒数，如 `DNS=5`、`TLS=20`、`TTFB=80`、`Processing=120`。
3. **瀑布图** —— 彩色条形图显示每个阶段占预算的比例。超过 35% 软上限的阶段会标红。
4. **余量与超标** —— 摘要报告已用预算及是否达标或超标，并给出按比例重新分配的建议。
5. **导入 trace** —— 粘贴 OpenTelemetry 或 Datadog trace（JSON），工具按名称汇总每个 span 的耗时，给出基于真实测量的初始分配。

全部计算在浏览器本地运行。

## 输入项

- **总延迟预算 (P99, ms)** (number): The overall latency target in milliseconds (e.g. 300 for P99 ≤ 300ms).
- **阶段分配（名称=ms，每行一个）** (textarea): One stage per line as name=ms (also accepts name: ms or name ms).
- **服务等级目标** (select)
- **粘贴 trace（OpenTelemetry / Datadog JSON，可选）** (textarea): Optional OpenTelemetry or Datadog trace JSON. The tool extracts per-span durations to suggest an allocation.

## 适用场景

- 在设计新的微服务或 API 接口时，需要为各个网络和处理阶段设定明确的延迟性能指标（SLO）。
- 当 API 响应变慢时，需要通过瀑布图直观排查是哪个阶段（如 DNS 解析、数据库处理或网络传输）超出了预算。
- 拥有 OpenTelemetry 或 Datadog 的分布式追踪数据，希望基于真实测量数据快速生成初始的延迟预算分配方案。

## 工作原理

- 输入您的总延迟预算目标（例如 P99 ≤ 300ms）并选择相应的服务等级目标（SLO）级别。
- 在分配区域以“名称=毫秒数”的格式输入各个请求阶段（如 DNS、TCP、TLS、TTFB、Processing 等）的预算。
- （可选）粘贴 OpenTelemetry 或 Datadog 的 trace JSON 数据，系统将自动解析并汇总各 span 的耗时。
- 实时查看生成的彩色瀑布图与预算摘要，系统会自动标记占比超过 35% 的阶段并提供超标警告或重新分配建议。

## 使用案例

- API 架构设计与 SLO 制定：在系统设计阶段，为 DNS、网关、后端处理和网络传输分配合理的延迟预算，确保整体 P99 达标。
- 性能瓶颈诊断与告警：将实际生产环境的各阶段耗时填入规划器，通过瀑布图快速定位超出预算的异常阶段。
- 基于 Trace 的自动化预算反推：导入分布式追踪系统的 JSON 导出文件，一键将复杂的 span 耗时转化为直观的延迟预算模型。

## 常见问题

### 这个工具会把我的 trace 数据上传到服务器吗？

不会。所有计算和 trace 解析均在您的浏览器本地运行，数据不会发送到任何外部服务器。

### 阶段分配支持哪些输入格式？

支持每行一个阶段，格式可以为“名称=毫秒数”（如 DNS=5）、“名称: 毫秒数”或“名称 毫秒数”。

### 瀑布图中的红色标记代表什么？

代表该阶段的延迟预算超过了总预算的 35% 软上限，提示您该阶段可能是潜在的性能瓶颈。

### 如何利用真实的 Trace 数据进行规划？

将 OpenTelemetry 或 Datadog 的 trace JSON 粘贴到输入框中，工具会自动提取并汇总每个 span 的耗时，为您提供基于真实测量的分配建议。

### 支持哪些服务等级目标（SLO）的预设？

支持 P50（≤ 100ms）、P90（≤ 200ms）、P99（≤ 300ms）以及 P99.9（≤ 500ms）等常见的目标级别。

## 相关工具

- [API 请求代码片段生成器](https://elysiatools.com/zh/tools/api-request-code-snippet-generator): 根据请求链接、方法、请求头、Query 参数和请求体生成 cURL 及常见开发语言的代码片段
- [package.json 依赖审计器](https://elysiatools.com/zh/tools/package-json-dependency-auditor): 审计 package.json 的依赖卫生、版本范围质量，并可选地从 package-lock.json 或 yarn.lock 深入检查传递依赖树。会标记重复依赖、通配符或预发布版本、未排序键、缺失元数据，以及运行时/开发时依赖误分类问题。
- [SQL 执行计划可视化器](https://elysiatools.com/zh/tools/sql-explain-plan-visualizer): 粘贴 EXPLAIN / EXPLAIN ANALYZE 输出（PostgreSQL/MySQL/SQLite），渲染为成本树，标注估算行数与实际行数的偏差热点，并给出具体的索引建议
- [GraphQL Playground](https://elysiatools.com/zh/tools/graphql-playground): 浏览器内的 GraphQL 客户端：编写查询与变量，发送到任意 GraphQL 端点，查看格式化的 JSON 结果或错误数组——开发阶段快速迭代 Schema 的理想工具
- [日志转时序图转换器](https://elysiatools.com/zh/tools/log-sequence-diagram-converter): 把结构化服务日志转换成 Mermaid 或 PlantUML 时序图，并可叠加延迟和错误标注
- [OpenAPI 转 TypeScript 类型生成器](https://elysiatools.com/zh/tools/openapi-to-typescript-generator): 将 OpenAPI 或 Swagger 的 JSON/YAML 规范转换为 TypeScript 接口类型、请求参数类型和响应类型，并支持输出格式与命名风格配置
- [AGEX 安全分享说明页](https://elysiatools.com/zh/tools/agex-secure-share-note): 为 AGEX 包生成面向接收方的分享说明页，解释如何安全解密与验签
- [CSV 转数据库迁移规划器](https://elysiatools.com/zh/tools/csv-to-database-migration-planner): 根据 CSV 数据推断关系型 schema，并为 PostgreSQL、MySQL、SQLite 或 SQL Server 生成建表和 ALTER 迁移计划

## 示例

- [Postman Collections - API 测试](https://elysiatools.com/zh/samples/postman-collections): 全面的 Postman collection 示例，包括 API 测试、自动化脚本、环境变量、mock 服务器和 REST API 的高级测试模式
- [分布式追踪示例](https://elysiatools.com/zh/samples/distributed-tracing-samples): 使用 Jaeger、OpenTelemetry 和其他现代可观测性工具的综合分布式追踪示例，适用于微服务架构
- [New Relic APM 示例](https://elysiatools.com/zh/samples/newrelic-samples): 全面的 New Relic 应用程序性能监控设置，包括插桩、仪表板和告警
- [AWS EventBridge 示例](https://elysiatools.com/zh/samples/eventbridge-samples): AWS EventBridge 示例，包括事件总线、规则、目标、模式注册表、自定义事件和跨账户事件路由，适用于无服务器事件驱动架构

## 相关内容

- [API 请求复现、重放与运行时调试工具](https://elysiatools.com/zh/hubs/api-request-replay-and-debugging): 把 cURL 转代码、Webhook 捕获重放、HMAC 校验、响应差异对比、请求头审查、TLS 证书排查和请求链路调试放到一个聚焦的 API 专题里。
- [JSON 交换与格式翻译工具](https://elysiatools.com/zh/hubs/json-convert): 在一个专题里比较 JSON 与 CSV、YAML、TOML、GraphQL、XML、Markdown、Excel、BSON、EDN 等结构化格式之间的转换工具。
- [JSON 检查、对比与转换工具](https://elysiatools.com/zh/hubs/json-utility): 把 JSON 格式化、差异对比、路径检查、Schema 校验、合并、转换和导出工具集中到一个专题中，适合 API 与数据处理流程。
- [JSON Schema、Mock 数据与 API 夹具生成工具](https://elysiatools.com/zh/hubs/json-generate): 围绕JSON Schema 生成、Mock 负载构建与 API 夹具准备整理的一组工具。
