新玩法灰度上线后“观察一下”是最模糊的指令。观察指标清单把观察期变成可执行的检查表:参与率、异常率、资源产出偏离、投诉量四类指标,每类有阈值与观察时长,达标才放量。
指标清单登记名称、采样频率与告警阈值,观察期内定时采样并输出快照。actor上下文无关,指标采样用系统变量记录。
local METRICS = {
{ name = "join_rate", freq = 300, warn = 0.15 },
{ name = "err_rate", freq = 60, warn = 0.02 },
{ name = "drop_drift", freq = 1800, warn = 0.2 },
}
local function sampleMetric(m)
local v = readMetric(m.name)
if v > m.warn then
setsysvarex("METRIC_WARN_" .. m.name, v, 1)
end
end
观察期四十八小时,全部指标无告警即放量,任一指标持续告警则回退灰度并通知负责人。
local function gateExpansion()
local warns = 0
for _, m in ipairs(METRICS) do
if tonumber(getsysvar("METRIC_WARN_" .. m.name) or "0") > 0 then
warns = warns + 1
end
end
return warns == 0
end
演练注入超阈指标验证告警与放量拦截;指标采样与实际值的一致性抽查。灰度清单随新玩法发布同步新增专属指标,通用清单加玩法清单两层结构。
readMetric的取数口径要与运营报表对齐,两套口径的指标打架会让放量判断左右摇摆。METRIC_WARN的告警值只增不减,历史告警会永久拦截放量,放量前重置观察期。观察期四十八小时是通用值,大版本玩法延长到一周。灰度指标的负责人挂到具体人,无人认领的指标告警只是数据噪声。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
设计目标 服务假死最难排查:进程还在、请求不响应。探针体系的目标是把"服务器是不是挂了"变成"哪个服务哪个环节挂了":探针覆…
原理剖析 改密码、交易确认这类敏感消息若明文传输,被截获即可重放。对称加密里最轻量的是异或:明文每个字节与密钥对应字节异或得…
设计目标 天气是全服共享的情绪调节器与玩法杠杆:雨天火系技能衰减、沙暴命中下降、晴天产出加成。策划要交付的是一套可独立调整的…
设计目标 工作室批量注册刷金,冲击的是整个经济系统。风控目标:识别同源注册的账号聚集,对新注册号加验证闸门,对已确认的批量号…
原理剖析 装备评分、属性折算这类纯函数,同样的输入永远得到同样的输出,重复计算就是纯浪费。函数级缓存(memoize)用闭包…
原理剖析 沙巴克攻城高峰,同一帧内一个玩家可能触发五六条消息:战况通报、奖励到账、行会频道、系统公告。逐条下发时每条的包头开…