对App操作配置数据看板
要对基调听云App采集到的操作配置出满足用户监控和分析业务指标需求的数据看板,您需要经过以下步骤:
- 对您的应用部署SDK。
- 创建App操作。
- 编辑App操作,定义参数。
- 配置指标。
- 配置数据面板。
部署SDK
请参照SDK部署文档,完成基调听云App SDK的部署。
说明:SDK部署需要研发同学配合。
创建App操作
客户可以通过3种方式创建App操作:
- BPI提供手机App客户端操作可视化配置入口,即可视化命名功能,可以对操作进行快速命名。
- 用户在手机App中所进行的操作,会被基调听云App SDK自动采集到。
- 在App SDK中埋点,即自定义事件功能。
SDK采集到的操作会自动显示在BPI的操作列表中,因此我们不再赘述。下面介绍如何使用可视化命名功能和自定义事件功能来创建操作。
可视化命名
开启可视化命名
说明:
- 开启可视化命名功能需要研发同学配合。
- SDK 版本需大于 2.12.0。
获取 URL Scheme。
在应用列表中,点击应用后的设置,然后复制【URL Scheme】。
在 AndroidMainfest.xml 文件的「LAUNCHER Actvitiy」中增加URL Scheme配置,如下所示:
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <!--请添加这里的整个intent-filter区块,并确保其中只有一个data字段--> <intent-filter> <data android:scheme="tingyun.xxxx" /> <!--请将 scheme 中的“tingyun.xxxx”替换为基调听云报表设置页面中的 URL Scheme--> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> </intent-filter> <!--请添加这里的整个intent-filter区块,并确保其中只有一个data字段--> </activity>
报表操作
在导航栏中依次点击业务感知分析>操作列表,点击页面右上角的按钮,选择App操作,进入可视化操作配置页面。
用户选择操作所属应用后,用手机微信扫描二维码,然后根据页面上的步骤提示进行操作,点击“进入应用”,唤起添加了URL Scheme的App。
点击“悬浮框”,选择“操作命名”。
拖动“小手图标”至所选操作,在待选操作页面中选择控件所在位置。
可以对“操作”及其“所在页面”添加操作名称和页面名称,点击上传,看到“上传成功”后,说明已将该页面自动关联后台数据。
登录BPI报表,查看操作列表进行数据校验,看是否有相应的操作生成。
点击“悬浮框”,选择“退出可视化命名”即可退出。再次启动需重新扫描二维码。
自定义事件
说明:
- 使用自定义事件功能需要研发同学配合。
- 2.15.2.1版本仅 iOS SDK支持自定义事件。
- 2.15.3 版本的Android SDK和iOS SDK支持自定义事件,2020年12月份发布。
自定义事件用于统计 App 中的任意事件,研发同学需要先按照如下说明,在 SDK 初始化后的合适位置添加自定义事件,并设置对应上传参数。
1、相关接口
//eventId 最多包含 32 个字符,支持中文、英文、数字、下划线,但不能包含空格或其他的转义字符
NBSAppAgent.onEvent(String eventId);
//map 的 key 可包含英文字母、下划线、数字,且必须以字母开关,value 支持 Number,String,List<String>,String 最大长度限制为 255,List 最大长度为100
NBSAppAgent.onEvent(String eventId,String tag, Map map);
2、代码示例
@Override
public void onClick(View v) {
…………
NBSAppAgent.onEvent("添加购物车");//一个参数示例
Map map = new HashMap();
map.put("uid","winter");
map.put("age","18");
NBSAppAgent.onEvent("注册", "tag", map);//三个参数示例
…………
}
登录BPI报表,查看操作列表进行数据校验,看是否有相应的操作生成。
编辑操作和定义参数
无论是SDK自动采集到的操作,还是可视化命名获得的操作,在导航栏中依次点击业务感知分析>操作列表,点击操作条目后面的,进入操作编辑页面,可继续编辑操作、配置采集参数和计算参数。
定义操作
在操作编辑页面的左上角点击页签,可切换至定义操作页面,配置说明如下:
- 配置操作名称。
- 选择操作类型:默认选中App交互事件。
- 选择操作所属应用:可搜索然后给操作选择一个应用,类似操作标签,应用也作为操作的一个属性标签,用于快速查找过滤操作。
- 标记操作:点击图标,对新操作添加标签,用户可根据操作的业务属性对操作添加1个或多个标签,以便利用标签快速过滤操作。用户可在搜索框模糊查询标签名称,点击搜索框右侧可将搜索内容添加为新的标签名称。选择完成后点击关闭按钮。该配置为可选项。
- 操作所属页面:默认显示App操作可视化命名时用户添加的页面名称。
定义参数
在操作编辑页面的左上角点击定义参数页签,可切换至定义参数页面。该部分决定了要对定义的操作采集哪些参数。
- 采集参数:从操作获取的请求或URL中直接采集的数据。
- 计算参数:区别于采集参数对请求数据做直接处理,计算参数不直接处理请求数据,而是对采集参数进行加减乘除、条件判断或字符串拼接等处理的输出,是对采集参数的进一步加工以满足复杂多变的数据处理场景。如:
- 通过采集参数配置参数【出生日期】,再通过计算参数配置参数【年龄】= 当前日期 - 【出生日期】。
- 通过采集参数配置参数【状态返回码】,再通过计算参数配置参数【用户支付失败原因】,200~余额不足,300~支付失败。
- 通过采集参数配置参数【姓】和【名】,再通过计算参数拼接为参数【姓名】。
BPI支持以下3种定义参数的方式。
对App SDK获取的操作采集参数
步骤如下:
点击采集参数右侧的即弹出参数配置信息。
选择获取参数的方式:App SDK请求参数。
选择请求,配置请求过滤和请求URL。
请求过滤:可按照最近3次有数据请求、有参数的请求2个条件过滤,条件之间是“且”的关系。
请求URL:勾选1个或多个请求,即可配置参数。
添加参数,从选中的请求中,获取参数位置信息,并将其定义为操作参数。
- 参数位置:支持从HTTP请求头、HTTP请求体、HTTP响应头、URL参数、URL路径、URL全路径中获取参数。其中URL路径是指获取URI路径字符串。URL全路径则指的是获取整个URL,包括域名、端口、路径、参数。例如,
http://www.tingyun.com/order/operation/manual
的URL路径是指/order/operation/manual,URL全路径则指http://www.tingyun.com/order/operation/manual
。 - 参数key:从请求中指定要采集的参数的位置key。
- value解析:某些情况下,所选择的采集参数并不是一个准确的值,例如参数可能为Map格式、List格式或者Json格式,参数中的某个字段才是真正的有效信息,对于这种情况,您可以点击,对参数进行精确取值。具体使用说明请参见字符串解析。
- 参数名称:支持中文、字母、数字或下划线,最多输入50位。
- 参数类型:支持采集文本(string)、整型(int)、浮点型(float)和日期(date)四种类型的参数。
- 参数标签:将配置的参数标记为对应类型的参数标签。
- 参数位置:支持从HTTP请求头、HTTP请求体、HTTP响应头、URL参数、URL路径、URL全路径中获取参数。其中URL路径是指获取URI路径字符串。URL全路径则指的是获取整个URL,包括域名、端口、路径、参数。例如,
操作参数配置完成后,点击保存配置。
用户保存的所有采集参数和计算参数会在右侧的参数列表中显示,单击进入参数的编辑页面,单击删除该参数。
对自定义事件类型的操作采集参数
步骤如下:
对该操作上传自定义附加信息,需要研发同学配合。
1、相关接口
/* 最多可添加10条附加信息,每条附加信息最大支持100个字节,随崩溃上传。 */ NBSAppAgent.setUserCrashMessage(String key,String value);
2、代码示例。
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); NBSAppAgent.setLicenseKey("AppKey") .withLocationServiceEnabled(true).start(this.getApplicationContext()); //初始化后的任意位置插入自定义附加信息 NBSAppAgent.setUserCrashMessage(“张三”,“13700001234”);}
在操作编辑页面的左上角点击定义参数页签,可切换至定义参数页面,点击采集参数右侧的即弹出参数配置信息。
勾选选择自定义事件。
选择参数,从map结构中获取业务参数。
添加参数,将选中的key定义为操作参数。
- 参数key:选中的key。
- value解析:某些情况下,所选择的采集参数并不是一个准确的值,例如参数可能为Map格式、List格式或者Json格式,参数中的某个字段才是真正的有效信息,对于这种情况,您可以点击,对参数进行精确取值。具体使用说明请参见字符串解析。
- 参数名称:支持中文、字母、数字或下划线,最多输入50位。
- 参数类型:支持采集文本(string)、整型(int)、浮点型(float)和日期(date)四种类型的参数。
- 参数标签:将配置的参数标记为对应类型的参数标签。
点击保存。
从APM探针获取数据项
如果客户也购买了APM产品,应用中已经部署了APM探针,那么APM产品可以配置一些数据项,目的是采集业务参数。那么您在为App操作定义采集参数的时候,就可以拿来即用,选择一些数据项来定义为采集参数。
说明:
- 在应用中部署APM探针需要基调听云的技术支持配合。
- 配置APM数据项需要应用研发人员的配合。
步骤如下:
第一步:在APM中配置数据项。
在左侧导航栏中依次选择应用与微服务>配置,然后点击上方的应用设置页签,继续点击数据项页签。
点击右上角的添加按钮,进行数据项的配置。
分别配置名称、数据类型等。
点击按钮添加数据项来源,然后提交。
点击保存按钮完成数据项的配置。
第二步:在BPI中定义参数。
在操作编辑页面的左上角点击定义参数页签,可切换至定义参数页面,点击采集参数右侧的即弹出参数配置信息。
勾选APM探针获取的数据项。
选择请求,支持从请求对应的后端事务中获取参数。
- 请求过滤:可按照最近3次有数据请求、有参数的请求2个条件过滤,条件之间是“且”的关系。
- 请求URL:选择需要配置后端事务的请求,可同时选中多个请求给每个请求配置数据项。
选择数据项。
- 数据项列表:如果请求对应的后端事务所属应用单独配置数据项,此处展示该应用的所有数据项,否则展示系统数据项。
- 搜索数据项:在搜索框输入数据项名称,点击后展示搜索结果。
- 编辑数据项:点击后跳转至APM应用设置页面,用户可编辑数据项。
- 查看数据项来源:点击后查看数据项来源于哪个请求的哪个key中。
- 查看数据项样本:点击后查看数据项最新的10个样本数据,方便用户确认数据,此功能仅在操作参数配置保存后下一次编辑进来,操作触发有数据时才可查看。
- 新建数据项:点击按钮后跳转至基调听云APM应用设置页面,用户可点击新建数据项。
- 选择数据项:点击数据项后,序号前变为选中状态。
添加参数。
将选择的数据项设置为参数,参数名称和参数类型与数据项保持一致,可修改。
计算参数
点击采集参数右侧的即弹出参数配置信息,点击可收起配置信息。
如何获取参数:在编辑区利用函数对参数进行逻辑运算,获取计算参数。
- 添加参数:点击切换至参数页签, 展示全部参数包含预置参数和当前操作定义的所有采集参数,点击某个参数即可添加至编辑区。
- 添加函数:点击切换至函数页签,点击某个函数即可添加至编辑区。
- 编写代码和校验: 函数使用说明请参见字符串解析,如满足函数的规则,显示“计算有效”,用户可保存参数,否则提示“计算有误”,需修改正确后才可保存参数。
添加参数:将函数运算结果设置为参数。
- 参数名称:支持中文、字母、数字或下划线,最多输入50位。
- 参数类型:支持采集文本(string)、整型(int)、浮点型(float)和日期(date)四种类型的参数。
- 参数标签:将配置的参数标记为对应类型的参数标签。
- 重置和保存:操作参数配置完成后,点击即可保存配置,用户可以配置下一个参数。点击刷新计算参数配置页面。
确认请求明细
在参数明细中设置参数使用状态。
点击添加完成按钮,完成操作编辑。
配置指标
指标是针对操作或操作参数的度量结果,用户可设置过滤条件也可不设置,指标通常具有一定的业务含义,如“支付成功的销售额”就是对“支付”操作的“订单金额”参数做“求和”度量,且设置过滤条件“支付状态”为“成功”的结果。
定义指标需要以下4个步骤:
新建指标
- 在导航栏中依次点击业务感知分析>配置>数据分析配置,进入数据分析配置页面。
- 点击上方的指标列表页签,选择右上角的新建指标图标。
- 定义指标名称, 默认显示“新增指标”,用户也可以自己定义指标名称,支持输入中文、英文、数字、下划线。指标名称不可重复。
输入公式
默认显示“新增指标1”,用户可根据需要自定义公式名称,规则如下:
- 单击“新增指标1”可以修改内联指标的名称。
- 用户输入+、-、*、/、(、),再输入一个名称(中文、英文、数字、下划线),然后回车,例如“销售额”,该名称有新的背景色。
- 双击“新增指标1”或“销售额”可弹出该指标的编辑框,再次双击收起编辑框。
- 点击“全部展示”可弹出上次编辑的指标的编辑框,再次点击“全部收起”则关闭全部编辑框。
定义指标的操作
操作是指标作用的对象,规则如下:
支持:全部操作、指定操作、包含、不包含、开始于、结束于、正则匹配7种。
当选择全部操作时,可通过应用和属性标签做进一步过滤,如应用选择【server测试应用】,属性标签选择【银行业务流】,则查找的是【server测试应用】和【银行业务流】下的所有操作。
当选择指定操作时,弹出搜索框,输入搜索项后,用户可选择某个或某几个操作,且不可再选择属性和标签查找条件。
当选择包含/不包含/开始于/结束于/正则匹配时,查找框输入字段,可再选择属性和标签查找条件。
3个查找是“且”的关系,如操作名称选择【包含】“按钮”,应用选择【XX应用】,属性标签选择【xxx业务流】,则查找的是XX应用下,XXX业务流内,操作名称包含“按钮”的操作涉及的指标。
定义指标度量
用户想对操作作用的统计方式,支持常规度量和基调听云性能度量2种度量类型。
选择“常规度量”后,需先选择【度量参数】,选项包括预置参数、参数标签、选中操作的采集参数和计算参数,如果选中多个操作只显示预置和参数标签。
【度量函数】包括:平均值、求和、最大值、最小值、计数、去重计数,如果【度量参数】为文本类型,只能选择计数、去重计数。
选择“基调听云性能度量”后,性能度量包括:触发次数、报错次数、报错率、活跃用户数、报错用户数、报错用户占比和平均执行时间。如定义指标【XX应用】下的所有操作的“活跃用户数”。
选择过滤
设置操作参数的过滤条件指定指标的作用范围,也可不设置。
- 点击【添加过滤】后新增一个过滤框,框和框之间的关系通过中间的“且”和“或”设置。
点击框内的【添加】后新增一个过滤条件,条件和条件之间的关系通过左边的“且”和“或”设置。
参数列表可选择预置参数、批量参数、参数标签、采集参数和计算参数。
如果选择一个地域型参数,如“国家”、“省份”、“城市”,可选择条件:等于、不等于、有值、没值、为空、不为空、是以下之一、不是以下之一 ;并在选项框选择地域。
如果选择一个可以选择的参数,如“运营商”、“执行状态”、“操作类型”、 “Web应用”、“APM应用”、“APM业务系统”、“app应用”,可选择条件:等于、不等于、有值、没值、为空、不为空、是以下之一、不是以下之一 ;并在选项框选择条件返回值。
如果选择一个日期型参数,如“触发时间”、 “会话开始时间”、“探针上传本次action客户端时间戳” ,可选择条件:等于、不等于、介于、大于、大于等于、小于、小于等于;点击选项框可选择时间。
如果选择一个数值型参数,如“订单金额”,可选择条件:等于、不等于、介于、大于、大于等于、小于、小于等于、有值、没值、是以下之一、不是以下之一 ;点击输入框可输入匹配数值,多个数值用英文逗号连接。
如果选择一个文本型参数,如“操作名称”、“浏览器”,可选择条件:等于、不等于、包含、不包含、开始于、结束于、有值、没值、为空、不为空、是以下之一、不是以下之一 、正则匹配;点击输入框可输入匹配数值,多个数值用英文逗号连接。
点击确定保存指标。
配置数据面板
用户通过自定义度量、自定义过滤和自定义维度组成一个后端查询,再选择合适的可视化图表将想分析的数据展示成一个数据面板即Panel,无需开发即可满足多种分析场景。
要创建一个新的面板,请进行以下操作:
在导航栏中依次点击业务感知分析>即席多维分析,进入数据看板页面。
点击页面左上角的下拉图标,选择数据看板。
点击页面右上角的的添加面板图标,即弹出面板的编辑框,如下所示:
选择新建普通面板进入面板编辑页面,页面分为以下5个部分:选图表择、自定义参数、自定义度量、自定义过滤、自定义维度。
选择图表
用户选择合适的图表展示要分析的数据,目前支持11种图表展示,每类图表的适用场景如下所示,详细配置方式见可视化配置。
可视化类型 | 度量 | 维度/钻取 | 适用场景 |
---|---|---|---|
Graph | 1个/多个 | 多维、可钻取 | 指标值分布趋势, 如2019年销售额分布 |
Singlestat | 1个 | 1个 | 指标值在某个范围内的聚合结果 如2019年销售总额 |
Pie Chart | 1个/多个 | 多维 | 每类数据占整体指标值的多少 如各类型产品销售额占比 |
Gauge | 1个 | 多维 | 指标值在某个范围内的聚合结果及完成情况 如2019年销售总额以及和KPI的差异 |
Bar Gauge | 1个/多个 | 多维、可钻取 | 显示各指标值的数值比较 如各省份销售额比较 |
Alert List | 不支持 | 不支持 | 展示配置事件的状态和通知明细 |
Map | 1个 | 多维、可钻取 | 利用地图色块的深度展示指标值的大小 如各省份的销售额分布 |
Table | 1个/多个 | 多维 | 展示不同维度的指标值明细数据 如用户的销售金额明细 |
Heatmap | 1个/多个 | 多维 | 利用格子颜色深度展示指标值的大小 分析各运营位的点击次数随时间的变化趋势 |
Text | 不支持 | 不支持 | 对面板或看板的指标或业务做补充说明 |
Dashboard list | 不支持 | 不支持 | 作为看板目录使用 |
自定义参数
选择要分析的操作、操作参数或指标,用户可在页面拖拽1项到度量/过滤/维度框中设置。
操作,显示用户权限范围内的所有操作名称,如果该操作定义了采集参数、计算参数、批量参数,单击操作的展开按钮可查看其参数。用户也可在搜索框中搜索需要使用的操作。操作可拖入【自定义度量】框中;操作参数可拖入【自定义过滤】和【自定义维度】中。
如果【自定义度量】中已拖入指标或操作,点击可过滤出指标相关的所有操作,方便用户使用相关操作的参数;点击可重新切换至显示全部操作。
- 参数,显示全部预置参数和参数标签。用户也可在搜索框中搜索需要使用的参数名称。参数可拖入【自定义过滤】和【自定义维度】中。
- 指标,显示用户权限范围内的所有指标,用户也可在搜索框中搜索需要使用的指标名称。指标可拖入【自定义度量】。
自定义度量
度量指标
面板展示指标数据,用户从【指标】中拖入需要度量的指标,如果没有需要的指标,点击进入指标编辑页面,详细说明见指标配置。
如果用户需要修改指标展示的名称,双击可以修改名称,点击可恢复原指标名称。修改的名称不影响原指标名称。
说明:一个指标只能在【自定义度量】中使用一次。
度量操作
面板展示单个操作的性能数据。点击按钮可选择性能度量方式,包括:活跃用户数、报错影响用户数、报错用户占比、触发次数、报错次数、报错率、响应时间。如果用户需要修改指标展示的名称,双击可以修改名称,点击可恢复原指标名称。
度量操作标签集合
面板展示操作集合的性能数据。点击按钮,可选择操作集合的范围,支持根据应用、自定义标签、所在业务、所在业务流进行操作筛选。点击按钮可选择操作集合的性能度量方式。
说明:App应用、Web应用、APM应用、所在业务、所在业务流和自定义标签6个组之间是逻辑“且”的关系,组内选项之间是逻辑“或”的关系,自定义标签组内为逻辑“且”的关系。
自定义过滤
可拖入参数,包含预置、全局和操作参数,支持文本、数值和日期类型参数的过滤。
指标自带过滤
当指标被拖入自定义度量后,若指标自带过滤条件,该过滤条件会显示在自定义过滤框中,不可编辑,点击图标可查看指标的过滤配置,过滤条件和指标的颜色一一对应,且只作用于本身。如起购金额大于等于20万的条件只作用于指标【大于20万销售额】,不做用于【批量参数计数】。用户点击可跳转至指标编辑页面查看或编辑过滤。
自定义公有过滤
用户可也以拖入预置参数对【自定义度量】的所有指标进行过滤,如拖入”省份“,定义过滤条件“省份”等于“河北”,即只统计河北省的【大于20万销售额】和【批量参数计数】。
说明:
- 度量一个指标/操作时,自定义过滤可定义操作相关参数、预置参数。
- 度量多个指标/操作时,自定义过滤仅定义预置参数或操作公有的参数标签才能生效。
自定义维度
用来定义指标值的展示维度,默认为触发时间,也可拖入参数,支持文本、数值和日期类型参数,对于数量较多的参数,可通过分组降维。
触发时间作维度
系统默认维度,可用于分析指标随时间变化的规律,适用于Graph、Heatmap;也可选择“按所选时间段”分析指标值的聚合结果,适用于Singlestat、Gauge等。
点击按钮可设置触发时间的展示粒度,选项说明如下:
- 默认全局:按右上角时间范围,展示系统推荐粒度;详细说明见数据面板。
- 自定义时间粒度:年、月、周、天、小时、分钟;
- 按所选时间段:指标值在触发时间维度聚合成一个点。
点击按钮后弹框提示确认是否删除,确认删除后删除默认维度。
自定义维度
用户可以从参数列表选择参数(预置、全局和操作参数)拖入自定义维度,分为以下几种应用场景:
文本参数作维度:适用于分析不同类型的指标分布,如分析“各省份的销售额分布”,可用“省份”作为维度。
数值参数作维度:适用于分析不同参数值下的指标分布,如“分析销售额与年龄的关系”,可用“年龄”作为维度。
说明:当度量框只有1个指标/操作时,自定义维度可拖入指标/操作使用的操作参数;当度量框有多个指标/操作时,自定义维度只能选择预置参数、批量参数和参数标签。
分组作维度:适用于分析指标在某些共同属性的分布特征,用户可先拖入参数,再拖入与参数类型匹配的分组,如“不同年龄的活跃用户数”,可先拖入“年龄”,再拖入年龄分组。
说明:只能选择与参数类型匹配的分组。
维度钻取
如果用户打开钻取开关,则可以在自定义维度添加多个维度,目前可在Graph、Bar Gauge、Map三类图表设置维度钻取,关闭钻取开关后,系统会自动将多个维度拉平展示。如分析各省份和城市的操作触发次数,以及操作触发次数随时间的变化趋势,可配置以下Panel:
全部配置完成后,点击页面上方的按钮保存,点击左上角的图标退出编辑页面。