手动控制采集
支持版本:小程序探针>=1.6.0版本
启动配置
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
collection.manual | boolean | false | 是否手动控制采集开始。配置为true 时 config 后不自动采集,需调用 monitor.start() 开始。 |
collection.buffer | boolean | false | manual配置为true时开启手动采集,调用 monitor.start() 前是否缓存采集数据。false 为丢弃,true 为内存缓存。 |
collection.bufferLimit | number | 10 | buffer=true 时的内存缓存上限(条数);有效值最小为 1。 |
collection.buffer 对应两种采集前策略:
| buffer 值 | 行为 |
|---|---|
false(默认) | 采集开始前不创建监控数据、不缓存待上报数据、不上报;仅允许维护恢复采集所需的最小运行态快照。 |
true | 采集开始前允许采集并仅内存缓存有限上报数据,采集开始后补发。 |
默认行为:未配置 collection 或 collection.manual=false 时,默认 config 后立即采集的行为。
示例:
// 启动配置
monitor.config({
// ... 探针其它配置,如:beacon,key
collection: {
manual: true // 手动控制采集开启,需要调用monitor.start()才开始正常采集
}
})
调用API
- 开始采集:
// 开始采集(终态,只能生效一次)
monitor.start()
- 放弃采集
// 放弃采集(终态,只能生效一次)
monitor.abandon()
start() 和 abandon() 互斥:调过任一个后,另一个不再生效。两者均为幂等,重复调用无副作用。
示例:
// init.js
const monitor = require('./mp_agent_1.6.0.js')
monitor.config({
beacon: 'https://your-beacon-host',
key: 'your-app-key',
sampleRate: 1,
collection: {
manual: true
}
})
export default monitor;
// app.js
import monitor from './agent/init.js';
App({
onLaunch() {
// 展示隐私协议弹窗,用户同意后调用 startCollection
wx.showModal({
title: '隐私授权',
content: '使用前请阅读隐私政策...',
success(res) {
if (res.confirm) {
monitor.start() // 从此刻起开始正常采集
}
},
})
},
})