改了一次之后,我的 Lovable 应用变慢了
昨天还是好的。你让它再加一个功能,发布,然后某个页面要好几秒才出来 —— 或者一直卡在加载动画上,永远转不完。编辑器里看不出哪里不对,而让助手「优化一下速度」,改的又都不是问题所在。
为什么很难看出来
Lovable 应用没有自己的服务器,所以那句老生常谈 —— 去看服务器日志 —— 根本没有日志可看。真正变了的几乎总是一条查询:助手重写了一个组件,顺手把一个过滤条件弄丢了,或者把一次取数搬进了列表里面。这两件事在编辑器里都看不见,而且都不会抛错。
另一个难看出来的原因是:它刚写出来的时候并不慢。对着你项目里那几行数据,它是瞬间返回的。只有当背后有了真实数据它才会变慢,而那通常已经是造成问题的那次改动之后很久了。
Sixty 对此做了什么
浏览器 agent 会测量页面发出的每一条 Supabase 查询:一共几条,每条返回多少行。发布两次,第二次就会和第一次作比较,所以这条发现指向的是版本,而不是某一天。
你拿到的是一句话 —— 这条查询原本返回 30 行,现在返回 30,000 行,在这个页面上,从这次发布开始 —— 而证据会送到你用的那个助手手里,于是修复变成一个 diff,而不是一轮猜测。
它不做什么
第一条发现不会立刻出现,而是在你下一次发布之后:只有一个版本时没有东西可比。另外,只在 Lovable 预览里改是不够的 —— 预览跑的是没有带指纹资源的开发服务器,因此没有任何版本可以让比较锚定在上面。
OpenTelemetry
已经在使用 OpenTelemetry?
保留当前 Collector 和 exporter。Sixty 可以接入相连链路和有用的运行时指标,推断版本回归;有原生 agent 时,还能获得更深入的函数和数据库驱动细节。