用途:dd-apm 是 Datadog Labs Pup 提供的 APM 命令行能力,用于分布式追踪、服务地图和性能分析,帮助查看服务、依赖、追踪与延迟指标。
安装与登录:需先安装 Pup:brew tap datadog-labs/pack 与 brew install pup,然后执行 pup auth login。
主要能力:
- 服务:pup apm services list --env production 列出服务;pup apm services stats --env production 查看统计;pup apm services operations 与 resources 查看操作和端点。所有 apm services 命令必须带 --env。
- 依赖与流图:pup apm dependencies list --env production;pup apm flow-map --query "service:api-gateway" --env production(需 --query 与 --env)。
- 追踪:使用顶层 traces 命令,如 pup traces search --query="service:api-gateway" --from="1h",支持 status:error、@duration 过滤;pup traces aggregate 可按 resource_name、service 分组计算 avg(@duration)、count、percentile(@duration, 99)。注意 APM 时长单位为纳秒,1 秒 = 1,000,000,000 ns。
- 服务配置:pup apm service-config get --service-name my-service 查询实例元数据,最多返回 100 个实例;pup apm service-library-config get 查询追踪器配置,可用 --mixed 发现配置漂移。
- SLO:pup slos create --file slo.json 可将 APM 关联到 SLO。
适用场景:排查慢端点、错误率、吞吐量,审计追踪/Profiling/AppSec 配置一致性。
限制:追踪存在采样,并非所有追踪都保留;保留与索引涉及成本,建议只索引需要搜索的数据。service_name、env、language_name 来自 SDK 遥测,可能与 Service Catalog 不一致。资料未提供价格、平台支持范围等更多细节。