对于DoKit的建议(平台dokit.cn、iOS、Android、小程序)(2021)
iOS:期望iOS端支持swift中的print日志监控功能
平台dokit.cn : 希望平台端mock 数据,可以通过post的body字段区分场景
是否可以针对网络请求单独做日志功能,现有日志功能在查看一段时间内的网络请求日志并不直观,比如提供一个okhttp的拦截器这样也可以方便格式化json进行展示
是否可以针对网络请求单独做日志功能,现有日志功能在查看一段时间内的网络请求日志并不直观,比如提供一个okhttp的拦截器这样也可以方便格式化json进行展示
现在性能检测功能区有一个流量检测功能功能,里面有每一个接口的流量分析和接口数据详情,你可以试一下。
能否对插件字节码替换部分做的更加灵活,可以通过插件配置选择来控制,而不是通过taskName是否release判断。
//如果task包含release 则不进行字节码替换
for (String taskName : taskNames) {
if (taskName.contains("Release")) {
return;
}
}
能否对插件字节码替换部分做的更加灵活,可以通过插件配置选择来控制,而不是通过taskName是否release判断。
//如果task包含release 则不进行字节码替换 for (String taskName : taskNames) { if (taskName.contains("Release")) { return; } }
我们android可以通过以下配置来更加精细化的控制字节码插装 dokitExt { //整个dokit的插件开关 dokitPluginSwitch = true //函数耗时的开关 slowMethodSwitch = true //大图检测的开关 bigImgSwitch = true //函数耗时的自定义阈值 单位为ms 1000ms = 1s thresholdTime = 200 //在指定的包名业务代码下插入代码 packageNames = ["com.didichuxing.doraemondemo"] } 详细文档:http://xingyun.xiaojukeji.com/docs/dokit/#/androidGuide
定位图标的拖动不是很灵敏,有的时候要拖好几次才能拖动
是否可以针对网络请求单独的日志功能,现有日志功能在查看内部的网络请求日志并不直观,而是提供一个okhttp的拦截器这样也可以方便地格式化json进行展示
现在性能检测功能区有一个流量检测功能功能,里面有每一个接口的流量分析和接口数据详情,你可以试一下。
提个建议接口列表是否可以不设置ellipsize属性,现在这样链接长了看不见接口名称呀
是否可以针对网络请求单独的日志功能,现有日志功能在查看内部的网络请求日志并不直观,而是提供一个okhttp的拦截器这样也可以方便地格式化json进行展示
现在性能检测功能区有一个流量检测功能功能,里面有每一个接口的流量分析和接口数据详情,你可以试一下。
提个建议接口列表是否可以不设置ellipsize属性,现在这样链接长了看不见接口名称呀
好的 这个我这边处理一下 随着下个版本发
要是能增加一个类似bugly一样的异常上报功能就更好了,就是那种能在dokit网页里看到异常的那种
dokit.cn 不开源?
有没有考虑做个flutter版本的?
dokit.cn 不开源?
我们的平台端是搭建在滴滴的内部云上,受滴滴内部的监管,由于各种原因我们暂时还无法针对平台端进行开源。
有没有考虑做个flutter版本的?
对于flutter版本,我们上次在社区里做过一次调查,现在flutter的普及率还没有那么高,等再过一段时间,假如社区反响比较强烈的话我们会推出专享的flutter模块。
android:期望支持多进程,比如有些App需要检测游戏独立进程的指标,或者WebVIew独立进程的指标。
1)建议优化:希望引入 Hook 机制,方便扩展现有功能,比如:H5 任意门,如果需要 url 跳转到公司自家的 WebView,就可以 hook 住然后“架接”到任意 WebView。
2)建议功能:推出 UI 设计图对比功能,可以网站上传设计图,在工具集中进行1:1对比,帮助还原设计稿,比如:https://www.appcoda.com.tw/flawless-app-demo/。
我公司准备使用 DoKit 的 mock 功能,在试用过程中,发现一些不太方便的地方,在此提出一些建议:
- 在 web 管理后台,为 mock 的接口场景提供标识符,便于在客户端抓包以后,能分别出 mock 的是哪个原接口
现在能看到 mock 以后的一个场景id,但是无法在后台查到对应的是哪个原接口,对于同时mock多个接口,想抓包查看时候,无法区分。
- 在 web 管理后台,为 mock 的 json 数据字段提供便捷生成器,便于生成一定规则的随机数据
这个功能 easyMock 是有提供的,可以为 json 的 value,指定随机生成的正则,便于客户端模拟不同数据。
- 能在管理后台配置 mock 接口的域名
存在这种场景,path 一样,但是域名可能不同,就会出现这些接口,都被同一个 mock 场景拦截的情况
希望尽快适配gradle插件4.1.0
期待flutter 版本
希望iOS展开的面板, 点击某个自定义项可以更新它的描述, 我想弄个开关点击后更改图标下发的描述, 目前还不能实现这个功能;
只能删除某个plugin然后在添加,这样的话, 位置会变更; 希望可以提供根据Module,PluginName只更新某个collectionViewCell的方法, 以此来更新图标/描述;
============= tip:开关切换方便一些
希望iOS展开的面板, 点击某个自定义项可以更新它的描述, 我想弄个开关点击后更改图标下发的描述, 目前还不能实现这个功能;
只能删除某个plugin然后在添加,这样的话, 位置会变更; 希望可以提供根据Module,PluginName只更新某个collectionViewCell的方法, 以此来更新图标/描述;
============= tip:开关切换方便一些
点击悬浮按钮展开的时候再加个回调, 方便刷新状态
目前抓包只能等app启动后打开开关才可以,在打开开关到启动中间这段没法记录请求,能否把开关持久缓存下来
能否对插件字节码替换部分做的更加灵活,可以通过插件配置选择来控制,而不是通过 taskName 是否 release 判断。
//如果task包含release 则不进行字节码替换 for (String taskName : taskNames) { if (taskName.contains("Release")) { return; } }我们 android 可以通过以下配置来更加精细化的控制字节码插装 dokitExt { // 整个 dokit 的插件开关 dokitPluginSwitch = true // 函数耗时的开关 slowMethodSwitch = true // 大图检测的开关 bigImgSwitch = true // 函数耗时的自定义阈值 单位为 ms 1000ms = 1s thresholdTime = 200 // 在指定的包名业务代码下插入代码 packageNames = ["com.didichuxing.doraemondemo"] } 详细文档:http://xingyun.xiaojukeji.com/docs/dokit/#/androidGuide
插件逻辑里判断 release 包就不会往下执行。我们项目以前是通过渠道区分线上包和内部包,给到测试同事是 release 包,这里的拦截导致测试同事用不了一些插件功能。

优化建议:
在Android使用卡顿监控的时候,通过传入自定义Printer,然后在println函数里面进行判断卡顿逻辑。这里有一个值得关注的问题就是,">>>>> Dispatching to " + msg.target + " " +
msg.callback + ": " + msg.what。这里有大量的字符串拼接,会损耗性能。这里想能不能插装替换成logging.println(""),省掉这个字符串的拼接。
Printer logging = me.mLogging;
if (logging != null) {
logging.println(">>>>> Dispatching to " + msg.target + " " +
msg.callback + ": " + msg.what);
}
msg.target.dispatchMessage(msg);
if (logging != null) {
logging.println("<<<<< Finished to " + msg.target + " " + msg.callback);
}
能否在局域网内查看日志
希望iOS的ANR检测,使用PLCrashReporter库获取堆栈。BSBacktraceLogger无法解析系统的堆栈。
建议网络抓包时不展示流量监控的View
建议网络抓包可以copy网络日志