14 个 kMP* 事件的含义、专属字段、日量级与落地位置;以及为什么 kMPH5 必须按 appid + event 拆分才能定位到一个具体埋点。
所有事件共享一套公共字段:appid、mpSessionId、mpVersion、fwVersion、logTime(客户端毫秒时间戳)、baseInfo.{uid(MSISDN), deviceKey, deviceType, clientVersion, region…}。框架事件统一用前缀 /^kMP[A-Za-z0-9]+$/ 识别,新增事件自动纳入。
| event_name | 含义 | 事件专属关键字段 | 行数 | 去重 session | app 数 | ES | Fabric | Hive |
|---|---|---|---|---|---|---|---|---|
| kMPLifecycle | 生命周期阶段流水量最大;一个 session 内多阶段连续上报 | stage = mp_entry / mp_first_screen / mp_first_render / mp_first_interactive / mp_download_start|end|error / mp_update_start|success / mp_local_package_found|not_found / mp_load_package_start|end|error / wv_terminate / on_hide / on_destroy … | 84,144,724 | 5,986,124 | 156 | |||
| kMPJSBridgeError | JSBridge 调用出错 | bridgeName · errorCode · errorMessage · duration | 69,583,734 | 32,044,946 | 79 | |||
| kMPH5 | 小程序自定义业务埋点唯一一个 name 本身不带业务语义的事件 → 见第 02 节 | event (业务事件名,顶层列) · b_tracking (原始载荷) · wid · exploreid · utm | 51,333,940 | 28,422,727 | 57 | |||
| kMPPageView | 页面浏览 | mp_uri_path · pageUrl · pageTitle · loading (ms) · duration | 48,983,799 | 36,196,747 | 162 | |||
| kMPEntry | 前台打开fatal 率的分母 | from (入口来源) · mp_uri_path · pageUrl | 38,162,300 | 35,510,380 | 157 | |||
| kMPClose | 关闭 | duration (s) | 31,437,507 | 29,525,648 | 157 | |||
| kMPBridgeUsage | JSBridge API 调用统计快照 | detail = JSON 数组 [{apiName, callCount, isNativeCall}] · webviewVersion | 30,082,840 | 28,974,971 | 136 | |||
| kMPUsage | 加载耗时 / 使用 | pk_loading · app_info_loading · pk_unzip_loading · fw_loading (ms,用分位数,勿用 avg) | 3,795,539 | 2,084,072 | 156 | |||
| kMPEntryBG | 后台打开 / 切回 | from | 3,778,697 | 3,095,197 | 102 | |||
| kMPPluginEntry | 插件打开 | pluginId · pluginVersion · componentName | 637,573 | 287,537 | 4 | |||
| kMPFatal | 致命错误 | reason · step · when · detail | 257,610 | 215,708 | 108 | |||
| kMPError | 一般错误无 appid,app 信息在 appInfo JSON 里 | error · appInfo (JSON 串) | 5,762 | 1,188 | 0 | |||
| kMPCVR | 转化 / 支付成功类埋点与 kMPH5 是两个独立事件 | ES: mp_detail_obj.event · mp_detail_obj.parameter (tradeId) Fabric: event 列(约半数为 NULL,拍平有缺口) | 1,479 | 1,371 | 4 | ? | ||
| kMPPluginFatal | 插件致命错误 | reason · step · when | 212 | 109 | 0 |
实时,保留约 3–8 天。不含 kMPH5(全集群 30 天 0 命中,可能因 5,000 万行/天的量级未接入)。kMPCVR 的业务事件名嵌套在 mp_detail_obj.event。
kibana-k8slogs-sgbot · name.keyword
T+1(最新分区 = 昨天),保留约 208 天,dt 为真分区,单日聚合 5–10 秒。14 个事件全量落地,是本表数字的来源。
core_data_360 · event_name / event / app_id / mp_session_id
承载全部 kMP* 事件与 kMPH5(name 与 event 为两个独立顶层列)。kMPH5 目录与 Fabric 逐行一致(Ads 25,489,261 · STATISTICS 10,438,966),两者同一上游;当天分区持续入库,是 kMPH5 唯一的当日来源。dt 不是分区键,任何查询都全表扫描(LIMIT 5 也要 ~2 分钟、439 mapper;GROUP BY 约 5 分钟),且同一用户不能并发。
dt · ts · uid · appid · region · devicetype · name · event · wid · exploreid · utm · b_tracking
name=kMPH5 是所有小程序共用的外壳,本身不携带任何业务含义;真正表示"用户做了什么"的是 event 列,而这个字段由各小程序前端自行定义、自由命名,没有全局注册表。同一个字符串在两个小程序里可以指完全不同的动作。
| event | 使用它的 app 数 | 含义是否相同 |
|---|---|---|
| STATISTICS | 21 | 否 — exploresearchv4 是搜索页统计(1,044 万行 / 105 万 session),callratingdialogv2 是通话评分弹窗(78 万),sp.ai 是 AI 会话(33 万),utilitypayment 是水电缴费(29 万)… |
| ERROR | 14 | 否 — 各 app 自己的前端错误上报 |
| Quest Card Viewed in Mini program | 3 | 相近 — 任务卡片在不同宿主小程序内曝光 |
| front_page | 3 | 否 — 各自首页 |
| International Transfer Flow Started 及 International Transfer 系列 30 余个事件 | 2 | 相同 — 同一套汇款埋点名出现在 2 个 app 下(remittanceapp 与支付 webview) |
| Copy Link · Instagram · Messenger · More · Botim | 2 | 相近 — 分享面板选项 |
| KYC_remittance_entry | 2 | 相同 — KYC 入口 |
只按 event="STATISTICS" 聚合,会把 21 个业务毫不相关的小程序混成一个数字;先 appid 限定命名空间,再看 event,才能得到"搜索页的统计"这一个干净指标。Lighthouse 的 server/queries/mp/funnel.ts 正是这样做的:catalog 与查询接口永远先 app_id = …,再 event_name='kMPH5' AND event = @param,且 event 走 SQL 参数绑定。
为什么实例键必须带 ts:同一个 event 在一个 session 内反复触发是常态——utilitypayment · STATISTICS 平均 12.5 次/session,exploresearchv4 · STATISTICS 9.9 次,appvip · Vip Subscription Plan Selected 10.2 次。没有时间戳,appid+event+session 仍会撞到多行。
| appid | event | 行数 | 去重 session | 次 / session |
|---|---|---|---|---|
| me.botim.voip.endcallpagev2 | Ads | 25,489,261 | 24,454,656 | 1.0 |
| me.botim.miniprogram.exploresearchv4 | STATISTICS | 10,438,966 | 1,050,294 | 9.9 |
| me.botim.miniprogram.exploresearchv4 | Search Result Viewed | 1,116,492 | 675,727 | 1.7 |
| me.botim.miniprogram.exploresearchv4 | Search Bar Clicked | 1,071,304 | 1,028,948 | 1.0 |
| me.botim.function.callratingdialogv2 | STATISTICS | 784,898 | 751,685 | 1.0 |
| me.botim.function.callratingdialogv2 | ERROR | 764,893 | 349,690 | 2.2 |
| me.botim.miniprogram.exploresearchv4 | ERROR | 540,389 | 499,334 | 1.1 |
| me.botim.pay.remittanceapp | remittance_entry_explore | 430,336 | 406,851 | 1.1 |
| me.botim.event.vipcheckout | VIP Popup Viewed During Call | 425,694 | 402,393 | 1.1 |
| me.botim.function.appvip | App Viewed | 380,127 | 328,722 | 1.2 |
| me.botim.pay.remittanceapp | International Transfer Flow Started | 338,056 | 325,758 | 1.0 |
| me.botim.sp.ai | STATISTICS | 325,634 | 51,436 | 6.3 |
| developers.ae.utilitypayment | STATISTICS | 294,896 | 23,631 | 12.5 |
| me.botim.function.appvip | Vip Subscription Plan Selected | 181,284 | 17,837 | 10.2 |
| me.botim.sp.ogold | Gold Portfolio page viewed | 107,012 | 62,205 | 1.7 |
| me.botim.credit.credith5 | EasyCash Homepage Viewed | 70,721 | 49,920 | 1.4 |
| me.botim.function.imsharedialog | NULL | 62,874 | 58,543 | 1.1 |
| me.botim.rd.p2p | P2P Mini Program Launched | 56,963 | 56,224 | 1.0 |
| me.botim.pay.kyc | KYC Flow Entered | 54,774 | 43,411 | 1.3 |
event 命名风格不统一:既有 remittance_intl_sendnow 这类 snake_case,也有 "International Transfer 'Pay' button Clicked" 这类带空格、括号、引号的自然语言 — SQL 必须参数化,不能拼串。
② me.botim.function.imsharedialog 的 kMPH5 全部 event=NULL(6.3 万行/天),只能从 b_tracking 载荷里还原动作。
③ kMPH5 的当天数据只有 Hive 有:ES 不含它,Fabric 滞后一天;Hive 当天分区近实时入库,延迟约 10–20 分钟(09-14 15:00 UTC 时点当天已有 3,556 万行,最近 15 分钟 21.6 万、最近 60 分钟 149 万,对比日均 53.5 万 / 15 分、214 万 / 小时),但每查全表扫描 2–4 分钟。ts 是客户端时间,MAX(ts) 会被未来时间戳污染(实测 +14 ~ +37 天),判断延迟要数最近 N 分钟内的行数。
silver.botim_footprint_mp — 首选。WHERE dt='YYYYMMDD' AND event_name='kMPH5' AND app_id='…',单日聚合 5–10 秒;本地 node _fq.mjs silver "…" 或走 funnel.ts。dwp.logs_footprint_mp_b_tracking — name='kMPH5';唯一能查到当天数据的源(当天 dt 持续入库),代价是每次全表扫描 2–4 分钟,一条一条跑。kMPCVR 不是同一个东西。in_app_pch_suc,是支付成功回调类埋点。mp_detail_obj,在 Fabric 中约半数 event 为 NULL。server/queries/mp/funnel.ts(业务步 = kMPH5.event,页面步 = kMPPageView.mp_uri_path,框架步 = event_name)。