Skip to main content

Command Palette

Search for a command to run...

我的解题之路: 开源社区

Updated
1 min read

最近测试的同事提出了一个问题:平台内嵌的grafana页面在切换不同的dashbord时,会经常出现弹窗错误,如下所示

grafana的版本是:v9.4.9

不地当测试在周会上反映这个问题的时候,负责监控面板的同事觉得这grafana的问题,解决不了,这个问题的影响面在于:因为grafana页面是内嵌于平台内的,弹窗就显得很突兀了。

弹窗的原因也很简单:因为之前的grafana页面获取数据+渲染需要较长的时间,切到下一个页面的时候,这人弹窗显示的却是上一个页面请求失败的报错……就确实不太合理

tl在晨会获知这一情况时,建议前端尝试一下能否通过修改grafana源码来解决这一问题,笔者觉得修改源码兹事体大,于是要求参与到这件事情中来。

根据笔者为数不多的前端经验,第一"感觉"是grafana有控制此弹弹窗的配置选项,寻求claude和bard的帮助,结果它们给出了许多误导性的建议,比如关于`disable_sanitize_html`配置的使用示例,我尝试多次后放弃了,但大概率是我提供的方式不对。第二步,开启搜索大法,在grafana社区找到了以下相似的issue

https://github.com/grafana/grafana/issues/71932

这个issue很值得学习,非常详尽

"I understand that these requests are handled asynchronously, and what actually triggers the templating error is a failed fetch from a previous attempt (for example, if it was cancelled by the user).……"

根据issue也找到了相应的pr

https://github.com/grafana/grafana/pull/74712

关键代码改动:

        // we don't care about still showing toasts after refreshing
        // https://github.com/grafana/grafana/issues/71932
        showing: false,

从发现issue到等待该pr被merge,大概间隔了一周的样子,于是在那个神清气爽的清晨,早早来到公司的笔者,打开了github,发现了grafana v10.2.0这个修复版本,在开发环境,从v9.4.9切换到v10.2.0,自行测试一番,发现再无弹窗报错,于是反馈给测试的同事,让其帮忙验证,此事就此解决。

总结

  1. 提问:问题描述,包括现象,造成的影响范围,以及期望的结果,是不是很熟悉,像是一个工整的提bug单中需要包含的内容

  2. 定位:包括但不限于可稳定复现的条件、场景。社区的issue,也是非常重要的一环,可以帮助我们定位到底是使用姿势的问题,还是其它人有遇到的问题

  3. 解决方案:grafana的使用对于笔者所在的团队来说,是一个边缘业务,这就决定了不可能耗费许多精力去“优化”我们所遇到的问题,所以取之于开源,自然也要借助开源解决问题,

  4. 测试:上面我提到的解决方案:从9.x升级到10.x,跨了一个大版本,虽然我自行进行了测试,但并不能覆盖升级带来的其它风险,测试自然必不可少,完整的测试,可以提高版本升级的信心。

35 views

More from this blog

2025: 祛魅 灰度 念头通达

今天是2025年的最后一天,当大家都在准备下班的时候,好巧不巧的,我刚好发现了一个不大不小的问题,大胆猜想,小心求证,向上反馈,暴露风险,作为2025年工作注解,实在是再有趣不过了。 今年的工作,从结果上看,还算平稳,至于过程,有太多不可言说的部分。厂里打镙丝的牛马,有工资可拿,理应知足了,至于其它的,与己无关,也没那么重要了。 祛魅 近距离观察大厂,才发现一些违背常识/直觉的事实:路人以为的高大

Feb 28, 20261 min read21

大厂祛魅:破碎的专注力

毁掉一个人最直接的方法,就是毁掉ta的专注力。 这句话的出处已然模糊,但放在大厂环境中,却显得格外深刻。 围城 大厂宛如一座围城。城外的人满怀憧憬,目之所及皆是光鲜;城内的人却如困笼之鸟,翅膀日渐退化,每日挣扎求生。 高大上 不可否认,大厂的硬件设施确实令人艳羡:宽敞的独立园区内,来往穿梭的人群中,几乎人人手握智能设备。这看似现代化的景象背后,却藏着一个无奈的事实:在工作时段,每台电脑都被严密监控,连听音乐都成奢望。于是,工作之余玩手机,成了许多人难得的解压方式。 大厂的品牌效应确实强大。外界对...

Jul 29, 20251 min read138

Black Swan

黑天鹅理论 是指极不可能发生,实际上却又发生的事件 来到大厂打工已经满一个月了,从一开始的手足无措,到逐渐度过不适期,也算是适应了吧。 不适应 刚入职时,不适应的地方还是挺多的。 第一次只使用台式机工作,这就限制了我一天中的绝大部分时间,都必须呆在自己的工位上,好在工位足够大。只是人与人的沟通少了很多,有问题只能在工位上通过 IM 呼对方,有种魔幻又现实的感觉 第一次只能用 Windows,也不能 WSL,这给我的工作效率带来了很大影响,不能用熟悉的软件,就连写代码用的 VSCode 的...

Jan 24, 20251 min read74

2024年: 逐渐平静

这个世界是一面镜子,会把你的感受反射给你 2024 开端: 相由心生 那时,还带着一着愤懑,因为拿到了低绩效,虽然内心知道这是公司经营困难,想让我离开的一种策略,但仍然感受到自己那可笑的自尊受到了践踏。自那之后,非必要不加班,只做份内事,尽可能地不去涉及份外之事。 2024 年中: 与人为善 组里的项目眼见不行了,我被迫去支援 AI 项目,久违地写起了 python,项目接近完成时,意外收到通知:我拿到大礼包了。在这之前,架构师因故裸辞。在我离开之后不到两周,我的 TL 也裸辞了,直到同事告诉...

Jan 9, 20251 min read92

企业软件之殇

殇 动词 未成年而死。 名词 战死者。 笔者经历了两家打着云原生旗号的企业软件/解决方案公司,都是中途加入,项目都以解(失)散(败)告终。 云原生解决方案 NB 公司:一个传统的 IDC 小厂,想着借云原生的热度,进军企业软件市场。 在加入这个项目之前,笔者考取了 CKAD 认证,彼时对 K8s 相当着迷。先简要介绍一下这个项目背景: 基于 Rancher (换皮肤)的二次开发项目,名字叫:HCaaS ,在笔者加入这个团队之前,项目已经开发近两年了,除了 TL 之外,其它人之前都...

Jul 1, 20241 min read103

just for fun

57 posts

I'm a Software Engineer