【在线诊断】实体运行监控工具
![20230927161440873.webp](/download/010025d99994ec3b49da8f57afdb571903dd.webp)
# 1 概述
大家在日常开发过程中,经常会遇到以下问题:
(1)**字段值不符合预期**,如:引入文件中字段填写A,引入完成后字段值确是B;再比如修改单价后,金额字段跟着变了,但并不是预期的单价*数量
(2)业务单据保存成功,但**分录行数不符合预期**,行多了或少了,不知道什么代码导致
(3)单据提交失败,显示一个提示,**这个提示从哪里来**?
(4)单据审核操作,性能很慢,内部做了什么处理?**具体消耗在哪里**?
(5)线上环境出问题,**怀疑是某个方法的输入输出参数不对**?
以往出现上述问题,可能需要一个个插件、规则排查,实体在运行时仿佛在黑盒中操作,排查过程非常繁杂,大家只能八仙过海各显神通,在海量信息中查询,并没有统一的工具用于排查问题。
现提供实体运行监控工具,对金蝶云苍穹·动态领域模型运行引擎进行监控,收集关键方法的输入、输出参数,以便在问题发生时,分析问题,通过监控界面,实时查看收集上来的数据,在线分析、在线诊断。
# 2 适用版本
- V5.0.12及以上版本(未挂菜单:在开发平台中搜索【实体运行监控】或【bos_entitytraceview】)
- V6.0以及上版本【系统服务云-日志管理-实体运行监控】
# 3 监控界面整体介绍
## 3.1 整体操作流程为
**(1)配置**:配置相应方案
**(2)启用**:启用监听方案
**(3)** 切换回业务界面,**重现问题**
**(4)** 返回实体运行监控界面,查看相应日志,分析问题
**(5)停止**:停止监控(注意关闭,避免系统运行损耗。)
![Snipaste_2023-09-27_11-09-53.webp](/download/01007039aa40458243caa56e4c2ec568fc04.webp)
## 3.2 字段详细说明
实体运行监控界面分为工具栏和日志信息两部分,其中**工具栏:**
| 字 段 名 称 |说明|
| - | - |
|配置|打开监控配置界面,启用监听方案,配置监听参数|
|启动|启动实时监听,开始实时抓取监听数据|
|暂停|保持实时监听,但暂时停止刷新信息表格,以便安静浏览已输出的信息|
|停止|停止实时监听,不再抓取监听数据|
|清空|清空信息表格|
|聚焦追溯|打开信息聚焦界面,把所选行的直系父级调用链及子级调用链按树形结构显示出来,以便分析调用链全过程|
|引出单据体数据|把信息表格中所选行数据引出,保存在本地|
**日志详情:**
|字段名称|说明|
|-|-|
时间|进入当前“方法”的时间,精确到毫秒|
类和方法|当前执行的“类”和“方法”名,和实际代码中的类、方法一一对应,但名称稍有差异|
内容|当前执行的“类”和“方法”上传的输入输出参数|
调用堆栈|显示实际代码调用堆栈,只有部分信息行会显示;如果系统参数-公共参数 – “显示异常堆栈信息”选项未勾选,所有信息行都不显示调用堆栈|
|耗时|方法从进入到退出的耗费时间,以毫秒为单位|
## 3.3 监控信息搜索(必看)
启用实体监控后,可能会抓取到大量信息,如何快速找到需要的信息?快速信息定位,推荐两步走!
**列头过滤:** 搜索出包含指定文本的数据行
![6513c0184c460a00013806fe.webp](/download/010098a36c34f56946148af6b1aaeba59404.webp)
**聚焦追溯:** 搜索到需要的信息后,点击【聚焦追溯】,弹出新窗口,**显示此条信息的直系父级调用链、子级调用链,** 去掉无关信息行
![6513c02679c0dd0001ff5f9f.webp](/download/01004911078cfb0d48f3ae2405a8b4fc9678.webp)
# 4 监控方案介绍
## 4.1 字段值改变监听
### 4.4.1 典型应用场景
在实际业务处理过程中,经常会遇到字段值与预期不符合的情况。
### 4.4.2 参数设置
![6513d3f0d49eb800012e4e1f.webp](/download/0100246362808f564df59328d56e6f954727.webp)
(1)启用方案
(2)配置参数
*a.选择监听实体,可多选
b.选择监听字段,为空时,默认全部监听*
## 4.2 分录行增删监听
### 4.2.1 典型应用场景
当分录行数不符合预期时,开启此监听方案聚焦于单据分录行的增加、删除操作,能够在线快速定位操作来源
### 4.2.2 参数设置
![6513d689d49eb800012e5769.webp](/download/0100df24f3c85b234e739357501ff82490a3.webp)
(1)启用方案
(2)配置参数
*a.监听实体
b.监听分录:监听的单据体,不设置时,会监听本单全部单据体的增删行
c.行操作:指定监听增行or删行,可不设置,会同时监听增删行*
![6513d695c1e1300001b57f7a.webp](/download/0100028c7b18c77945119de7b19b099ff491.webp)
## 4.3 操作提示监听
### 4.3.1 典型应用场景
操作提示监听方案可报告出操作提示来源,并给出实际代码调用链
### 4.3.2 参数设置
未提供额外参数设置,启用即可。
![6513d73c4c460a0001385458.webp](/download/0100f33ce56144ef4652854bd9cba63d53a4.webp)
### 4.3.3 抓取日志Tips
(1)日志列表中会有很多信息,可以在列头过滤提示信息:“只有暂存数据才允许提交”
![6513d7be4c460a0001385623.webp](/download/01001febea3f5a9f4ccc9b90e7582057ec48.webp)
(2)点击【聚焦追踪】
![6513d7cbffde450001e42d11.webp](/download/010028d86371aaa14263985bc234a59188ce.webp)
![6513d87479c0dd0001ffb43f.webp](/download/0100b60024ef6fd24f27acae5a57505f0de2.webp)
## 4.4 方法执行监听
### 4.4.1 典型应用场景
线上产品出问题时,根据问题现象推测,可能是某个代码方法有问题,需要确认该方法的输入、输出参数,确认是否符合推测,此时可以使用方法执行监听器,指定类和方法,监听其他输入、输出参数。
### 4.4.2 参数设置
(1)获取待监听类、方法名:在实际代码中获取
![Snipaste_2023-09-27_15-27-10.webp](/download/010030db549bbed54bd2911479512da2039a.webp)
(2)为了简化配置,方法执行监听方案提供预置常用功能,可以根据实际情况勾选。![Snipaste_2023-09-27_15-27-30.webp](/download/01006b447815454441a585c57256c1e14577.webp)
### 4.4.3 参数说明
(1)列表取数:可监听列表取数方法,输入取数条件
> 监听方法: list.ListDataProvider.getData
(2)表达式运算:可监听表达式的执行,输出表达式文本、变量值、计算结果
> 监听方法: formula.*
(3)数据保存:可监听单据保存方法,输出保存的数据包内容
> 监听方法: datawriter.*
(4)页面缓存更新:可监听页面缓存更新方法,输出页面缓存数据
> 监听方法: pagecache.*
(5)操作服务:可监听操作服务执行,输出操作参数、数据库、操作结果
> 监听方法:opservice.OperationService.invokeOperation
(6)单据读取:可监听单据读取服务执行,输出取数参数,取出的数据包
> 监听方法: datareader.loadSingle
(7)下达客户端指令:可监听表单向前端下达的全部指令及内容,追溯调用来源
> 监听方法: clientview.*
(8)应用缓存更新:可监听应用缓存(即AppCache)的更新服务,输出缓存内容;
> 监听方法: appcache.*
未在上列的方法,可以手工填写类型、方法名进行监听,需要对领域模型运行引擎代码比较熟悉。
## 4.5 代码调用耗费监听
### 4.5.1 典型应用场景
用户点击业务单据的提交操作,长时间没有返回结果,不知道性能消耗在哪里,为什么慢。代码调用耗费监听方案开启后,会监听所有表单服务请求消耗,并计划其内部调用的子方法次数和耗时,最后为每次表单服务请求输出一条性能消耗报告,可基于此报告,找出性能问题点。
### 4.5.2 参数设置
![Snipaste_2023-09-27_15-46-36.webp](/download/0100a7c55e4b61204b37bddea01c5c6fc735.webp)
代码调用耗费监听方案,可以配置监听的性能阈值,参数项包括:
**(1)单节点耗时监听阈值**:默认10毫秒,只有超过此消耗的子方法,才会被记录调用次数。调高此阈值,可以把一些被频繁调用但实际没什么消耗的子方法忽略掉,使性能报告更加简洁;
**(2)单节点参数输出阈值**:默认100毫秒,子方法执行时间超过此阈值,会在性能报告上输出此子方法的执行参数,以便分析问题;
**(3)输出性能报告阈值**:默认500毫秒,只有超过此阈值的表单服务请求,才会输出性能报告。调高此阈值,可以忽略掉消耗比较低的表单服务请求,不用为这些没有性能问题的表单服务输出性能报告;
**(4)监听类名**:可选,指定需监听的类标识,具体类标识可参考表单服务输出的性能报告。默认空白,监听表单服务的性能(表单服务类标识为“FormService”);
**(5)监听方法名**:可选,指定需监听的方法名,结合监听类名,就可以指定出需监听的特定类、特定方法,忽略其他无关的表单服务;
## 4.6 插件性能审计
### 4.6.1 典型应用场景
业务功能插件开发完成后,可使用插件性能审计监听方案,实测性能消耗。
### 4.6.2 参数设置
**输出性能报告阈值**:默认500毫秒,当插件单次处理时间超过阈值时,即会输出一个性能报告,低于此阈值,不输出性能报告
## 4.7 异常监听
### 4.7.1 典型应用场景
领域模型运行引擎内部出现未知异常,或主动抛出异常时,会在后台日志中记录异常代码调用堆栈,部分异常直接通过堆栈就可以分析出问题,另外还有一些异常会和运行参数密切相关,仅仅通过堆栈无法分析出问题,需要结合当时的运行参数一起分析。
异常监听方案会在后台运行,全天监听领域模型运行引擎捕获的异常,发现异常后,即时把异常调用链路上收集到的运行参数输出到后台日志。
### 4.7.2 参数设置
异常监听不需要人工启用,会自动在后台允许,无需额外的参数设置。
# 5 实例-字段值改变监听
以测试单据“JD_BOTP单据1”为例,实际演练监听其“金额”字段的改动。
## 5.1 演练设计:
> 设置业务规则:修改数量、单价后自动计算金额;
实际修改数量字段值,观察监听到的金额字段改动信息,并追溯调用来源。
## 5.2 演练步骤:
1)打开实体运行监控界面;
2)点击“配置”菜单,打开“监控配置”界面
3)勾选“字段值改动”监听方案“启动”选项
![Snipaste_2023-09-27_16-04-23.webp](/download/0100b543c4d2be7e4ddda4bb1df98093307c.webp)
4)点击“字段值改动”监听方案“监听参数”按钮;
5)添加监听实体,选择“JD_BOTP单据1”,监听字段留空不填(留空会监听所有字段)
![Snipaste_2023-09-27_16-04-35.webp](/download/0100fe7812da51164245b75149a65881cbeb.webp)
6)回到实体运行监控界面;
7)点击“启动”菜单,开始实时监听、抓取字段值改变信息
![Snipaste_2023-09-27_16-05-04.webp](/download/01006e60416d8af84a618e8ea436d7c2a222.webp)
8)打开测试单据“JD_BOTP单据1”新建界面,填入物料、单价、数量
![Snipaste_2023-09-27_16-05-13.webp](/download/010082231006e5ec4136991df1a4424bd007.webp)
9)回到实体运行监控界面,可以看到已经抓到很多信息
![Snipaste_2023-09-27_16-05-57.webp](/download/0100ba2702f0a1ee42e09e72245fcaf7013f.webp)
10)点击信息展示表格-内容列头过滤,输入金额字段名”amount”,可以搜索出和amount相关的所有信息
![Snipaste_2023-09-27_16-06-07.webp](/download/0100846af01affc54ccd801d81ff175c0c0c.webp)
11)找到最终改变了金额的信息行,点击“聚焦追溯”菜单,打开一个新界面,展示此条信息的调用链路
![Snipaste_2023-09-27_16-06-16.webp](/download/0100b23f76e58cca47c8be59a6476b492476.webp)
12)可以看到,是因为改变了数量,触发了实体服务规则”amount = price * qty”,计算了金额;
# 6 FAQ
**(1)监听方案可以保存为方案吗?**
不可以,监听方案按缓存处理,防止过多数据堆积,只做为轻量级定位问题,暂不支持复杂能力
**(2)可以抓取到其他账号的操作吗?**
不可以,涉及安全问题。仅支持获取当前账号。
**(3) 在线课程链接**
https://vip.kingdee.com/link/s/laD6a
欢迎大家补充案例集
【在线诊断】实体运行监控工具
![20230927161440873.webp](/download/010025d99994ec3b49da8f57afdb571903dd.webp)# 1 概述大家在日常开发过程中,经常会遇到以下问题:...
点击下载文档
上一篇:列表过滤基础资料联级管控下一篇:增加了【列表过滤默认布局】系统参数
本文2024-09-23 00:20:21发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-138833.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章