生图API 出问题怎么定位?给调用加 traceId 和结构化日志(nano-banana-pro)

有次运营报"生图很慢",我去查日志,看到的是一堆这样的东西:

复制代码
生成中...
生成完成
生成失败

没有 traceId,没有耗时,没有参数。我连"哪一次慢"都定位不了,只能凭感觉去猜。

日志里至少要有什么

后来我重新定了一版最小字段集,每次调用记两条------请求前一条、响应后一条:

字段 为什么要
traceId 把请求和响应串起来,也能和上游业务日志对上
model 排查"是不是某个模型特别慢"
promptLen 提示词长度和耗时有相关性
aspect / size 尺寸直接影响耗时
costMs 核心指标
ok / errCode 成败和错误码
retryCount 这次是第几次尝试

实现

复制代码
const { randomUUID } = require('crypto');

async function genImage(params, ctx = {}) {
  const traceId = ctx.traceId || randomUUID();
  const t0 = Date.now();
  const base = {
    traceId,
    model: params.model,
    promptLen: (params.prompt || '').length,
    aspect: params.aspect_ratio,
    size: params.image_size,
  };
  log.info({ ...base, event: 'gen_start' });

  try {
    const r = await callGenApi(params);
    log.info({ ...base, event: 'gen_done', ok: true, costMs: Date.now() - t0 });
    return r;
  } catch (e) {
    log.error({
      ...base, event: 'gen_done', ok: false,
      costMs: Date.now() - t0,
      errCode: e.code || 'unknown',
      errMsg: String(e.message).slice(0, 200),
    });
    throw e;
  }
}

traceId 要从上游传下来,别在这一层新生成。用户点一次按钮可能触发多次生成(多图、重试),只有共用同一个 traceId 才能把它们归到一起看。

结构化,别拼字符串

复制代码
// ✗ 后面没法查
console.log(`生成完成,耗时 ${cost}ms`);

// ✓ 能按字段过滤和聚合
log.info({ event: 'gen_done', costMs: cost, model, traceId });

拼成一句话的日志,人能看,机器不能。改成 JSON 之后,"过去一小时 nano-banana-pro 的 p95 耗时"这种问题,一条查询就出来了。

三个真正有用的聚合

日志有了之后,我固定看这三个:

一、按模型分组的耗时分布。 看 p50 和 p95,别看平均值------生图的耗时分布很长尾,平均值会把偶发的超长请求抹平。

二、按错误码分组的失败数。 参数错误、鉴权失败、限流,是完全不同的处理方式。混成一个"失败率"没有指导意义。

三、重试率。 这个指标最容易被忽略。重试率突然上升往往是最早的信号,比失败率更灵敏------因为重试成功的那些,在失败率上根本看不出来。

一条经验

排查生图问题时,提示词长度是个常被忽略的变量。

我们有次整体变慢,查了半天网络和并发,最后发现是运营换了一版提示词模板,长度翻了三倍。日志里有 promptLen 之后,这个关联一眼就能看出来。

该服务本身的响应挺稳定,我们遇到的问题绝大多数出在自己这边------参数传错、并发没控、提示词失控。有日志才知道该怪谁,没日志就只能互相猜。


接口服务:甜甜圈API(dashengfenshen.cn)

相关推荐
dozenyaoyida6 小时前
AI与大模型新闻日报 | 2026-10-17
人工智能·ai·chatgpt·新闻
遇码6 小时前
流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法
大数据·人工智能·ai·rust·数据分析·大模型·agent
JXJD20047 小时前
224G PAM4 高速线束:阻抗匹配设计与损耗控制的核心逻辑
大数据·ai
misty youth7 小时前
Agent-智能体工程方法论
人工智能·ai·llm·agent·智能体
Rocky Ding*8 小时前
FLUX 3 Image Klein 技术解析:5.6B 生成器、Flow Map 蒸馏与 ComfyUI 可控编辑
论文阅读·人工智能·深度学习·机器学习·aigc·flux·ai-native
Fang_YuanAI8 小时前
AIGC胶片质感指南:影调、颗粒、halation、暗角如何一起成立
aigc·ai视频·ai生图·ai时代·ai短剧·aigc创作·胶片
ofoxcoding9 小时前
Haiku 5.5 输入超过 100K tokens 时费用突然翻倍的原因解析
ai
Harzerr9 小时前
AI行业日报|2026-10-17:5个热点事件
ai·行业动态·技术趋势
XLYcmy9 小时前
《数字经济赋能城市低碳治理的路径研究检索报告》审阅与修改指导意见——基于完整检索报告体例的完整性诊断、学术规范核查与方法论纠偏 上
数据库·ai·chatgpt·文心一言·检索·知网·豆包
小虎AI生活10 小时前
像资深短视频运营一样做事:从特斯拉发布会的「眼见为实」到可复用的提示词工作流
aigc·ai编程