1. 概述编辑
1.1 版本
运维平台版本 | 功能变更 |
---|---|
V1.5 | - |
1.2 应用场景
场景一:直接进入此「链路追踪」页面,初始状态按照控件默认值查询,默认排序策略为前端耗时降序
场景二:通过「性能观测看板」内问题列表联动至此页面,默认带入sessionID查询,查询开始时间控件带入3天范围
场景三:通过「性能观测看板」内观测异常点联动至此页面,默认带入查询时间前后一分钟进行查询
2. 使用前提编辑
2.1 工程JDK版本
使用链路追踪功能,必须确保FR/BI项目使用JDK8u211及以上版本。
2.2 启用运维组件
链路追踪功能,由3个运维组件提供:elasticSearch、skywalking_ui、skywalking_oap。
这三个组件默认不启动。因此如需使用「性能分析」功能,必须先启动这三个组件。否则提示「链路追踪组件未启用,请在运维组件目录中启动elasticsearch以及skywalking_oap」
管理员登录运维平台,点击「运维管理>运维组件」,分别启动elasticSearch、skywalking_ui、skywalking_oap组件。
2.3 工程部署方式
1)非容器化部署的运维项目默认不支持启用链路追踪,如需使用,请先参考该文档调整:非finekey部署应用接入链路追踪 。
2)运维项目与运维平台,是同一个容器化部署工具finekey进行部署的。该运维项目可默认启用链路追踪。
目前仅支持对项目中的fr和nginx组件进行链路追踪。
3)运维项目是容器化部署的,但与运维平台并非同一容器化部署工具finekey部署的。
该运维项目需要手动「启用链路追踪」,启用链路追踪时提醒「启用链路追踪需要重启应用,是否启用」。
3. 操作步骤编辑
3.1 配置查询条件
1)管理员登录运维平台,点击「实验性功能>链路追踪>首屏链路」,选择需要进行查询的运维项目。
2)配置查询条件,点击「查询」。支持的查询条件如下表所示:
查询条件 | ||
---|---|---|
查询时间 | ||
查询ID | ||
用户 | ||
访问内容 | ||
首屏耗时 |
3.2
2. 字段说明编辑
管理员登录运维平台,点击「实验性功能>链路追踪>首屏链路」
进入时默认触发查询,更改条件后点击才触发查询
类别 | 控件名 | 控件类型 | 选项 | 默认值 | 校验规则 | 说明 |
---|---|---|---|---|---|---|
类别 | 控件名 | 控件类型 | 选项 | 默认值 | 校验规则 | 说明 |
时间 | 查询开始时间 | 时间控件(年月日时分秒) | 无限制 | 前半小时至当前时间 | 开始时间小于结束时间 区间小于3天 | 筛选所有在此时间范围内开始的查询 |
查询ID | 查询ID | 带搜索可自定义的多选下拉框 | 所有时间范围内的sessionID | 为空展示全部 | 无 | 直接找到对应sessionID的场景 |
用户 | 查询用户 | 带搜索可自定义的多选下拉框 | 所有的有记录用户 | 为空展示全部 | 无 | 筛选所有此用户触发的查询 |
业务对象 | 访问内容 | 单选下拉框 | 目录访问(FRBI共通) BI
FR模板
| 为空展示全部 | 无 | BI场景要找BI明确,基于什么来搜索,显示什么作为做外层查询对象(公共链接、主题数据、主题组件、仪表板、挂载目录) |
带搜索的多选下拉框 | 所有的有记录业务对象 | 为空展示全部 | 无 | 基于「业务对象」联动值 | ||
性能 | 首屏耗时范围 | 两个数字控件,单位ms | 无限制 | 为空展示全部 | 为空或正整数,且前面的值小于后面的值 | 为空表示不限制,单值为空表示上限或下限不限制 |
端点 | 端点 | 带搜索可自定义的多选下拉框 | 所有时间范围内的端点 | 为空展示全部 | 无 | 筛选所有此端点的查询 |
高级 | 高级查询 | 带搜索可自定义的多选下拉框 | 所有的标签 | 为空展示全部 | 无 | |
带搜索可自定义的多选下拉框 | 所选标签对应的值 | 空 | 不允许为空 | 筛选所有包含标签=值条件的查询 |
场景 | SPAN | 说明 | tag含义 |
---|---|---|---|
读取模板 | TEMPLATE/ReportEntry#getWorkBookTemplate | 读取cpt模板 | |
TEMPLATE/FormEntry#getForm | 读取Frm模板 | ||
取数 | DBDataModel/initConnectionAndResultAndCheckInColumns | 初始化连接和取数结果 | db.statement|sql语句 db.rowCount|结果行数 db.columnCount|结果列数 |
DBDataModel/iterateResultSet | 遍历结果集 | db.statement|sql语句 db.rowCount|结果行数 db.columnCount|结果列数 | |
参数 | PARAMETERS/ParameterApplyHelper#processFinePara | 合并全局参数和模板参数信息 | cal.result,参数合并后的所有参数 |
PARAMETERS/ParameterApplyHelper#eval | 参数计算 | ||
PARAMETERS/QueryFavoriteParamsAction#actionCMD | 常用参数查询 | ||
WIDGET/ParamsTemplateControllerImpl#findOne | 根据条件从数据库查询常用参数值 | ||
WIDGET/ParamsTemplateControllerImpl#findAll | 从数据库查询所有常用参数值 | ||
WIDGET/ParamsTemplateControllerImpl#add | 保存常用参数 | ||
WIDGET/ParamsTemplateControllerImpl#update | 更新常用参数 | ||
PARAMETERS/FavoriteParamsUtils#decrypt | 解密数据库查询出的常用参数 | ||
PARAMETERS/FavoriteParamsUtils#encrypt | 常用参数加密入库 | ||
参数面板控件 | WIDGET/WidgetGetJsonDataAction#actionCMD | 获取控件值 | |
WIDGET/DefaultWidgetDataOutlet#createJSONData | json输出控件值 | args.cal,处理的控件名,值为:widgetName=xxx | |
WIDGET/ExecuteWidgetHelper#setWidgetValue | 设置控件的值 | args.cal,处理的控件名,值为:widgetName=xxx | |
WIDGET/WidgetValue#executeResult | 获取控件结果 | ||
WIDGET/WidgetValue#setAttrResult | 获取并设置控件属性结果 | cal.result,控件结果 | |
SE计算、格子扩展 | CAL/SE#calculateCellAndExpand | 计算、扩展单元格 | args.cal,处理计算的类,比如:actor=xxxActor |
CAL/SE#calculateEachCellElement | 每个单元格的计算耗时 | args.cal,cell=A1,value=null,单元格的位置和值 | |
CAL/SE#refreshSetRelation | 重新调整格间关系 | args.cal | |
CAL/SE#sortAfterCalculate | 扩展后排序 | args.cal,记录当前处理的单元格,比如:cell=B6 | |
CAL/Box2DCase#dealWithReport | 转化结果报表 | ||
CAL/Box2DCase#expandElement | 扩展单元格 | ||
CAL/Box2DCase#expandFloatElement | 刷新report里的悬浮元素 | ||
CAL/Box2DCase#dealWithHeaderFooter | 处理页眉页脚中的公式 | ||
CAL/Box2DCase#postCalculate | 处理后置计算逻辑 | ||
CAL/Box2DCase#dealWithAfterCalculation | 后置公式计算 | ||
CAL/Box2DCase#dealWithCondition | 条件属性、超链处理 | cal.result,每个原始单元格条件属性、超链等所有业务场景的次数及耗时 | |
CAL/Box2DCase#dealWithPresent | 形态内部的数据预处理 | ||
CAL/Box2DCase#dealWithAll | 形态处理,水印处理等 | cal.result,每个原始单元格形态处理、水印处理等所有业务场景的次数及耗时 | |
CAL/Box2DCase#dealChartList | 处理图表数据 |