Dokit是滴滴推出的一款APP性能分析工具。

APP引入以后的界面。

一.Dokit的接入

官网地址:

didi/DoKit: 一款面向泛前端产品研发全生命周期的效率平台。 (github.com)

1.项目build.gradle添加插件依赖

buildscript {dependencies {…classpath 'io.github.didi.dokit:dokitx-plugin:${lastversion}'…}
}

2.主项目模块app增加依赖项build.gradle

plugins {id 'org.jetbrains.kotlin.android'id 'com.didi.dokit'
}

dependencies增加dokit库依赖

    debugImplementation 'io.github.didi.dokit:dokitx:3.5.0'releaseImplementation 'io.github.didi.dokit:dokitx-no-op:3.5.0'

增加插件配置项,与android同级

dokitExt {//通用设置comm {//地图经纬度开关gpsSwitch true//网络开关networkSwitch true//大图开关bigImgSwitch true//webView js 抓包webViewSwitch true}
}

配置Dokit全局属性

项目gradle.properties中配置全局属性

# dokit全局配置
# 插件开关
DOKIT_PLUGIN_SWITCH=true
# DOKIT读取三方库会和booster冲突 如果你的项目中也集成了booster 建议将开关改成false
DOKIT_THIRD_LIB_SWITCH=true
# 插件日志
DOKIT_LOG_SWITCH=true
# 自定义Webview的全限定名 主要是作用于h5 js抓包和数据mock
DOKIT_WEBVIEW_CLASS_NAME=com/didichuxing/doraemonkit/widget/webview/MyWebView
# dokit 慢函数开关
DOKIT_METHOD_SWITCH=true
# dokit 函数调用栈层级
DOKIT_METHOD_STACK_LEVEL=4
# 0:默认模式 打印函数调用栈 需添加指定入口  默认为application onCreate 和attachBaseContext
# 1:普通模式 运行时打印某个函数的耗时 全局业务代码函数插入
DOKIT_METHOD_STRATEGY=0

3.Dokit初始化处理

        //dokit性能监测工具,当前没有平台注册,所以只能手机端本地使用if (BuildConfig.DEBUG) {val list = ArrayList<AbstractKit>()list.add(HttpKit())list.add(NetworkSwitchKit())DoKit.Builder(QYApplication.appContext).customKits(list).build()}

这些工具小插件需要自己实现。

class HttpKit : AbstractKit() {override val category: Intget() = Category.PERFORMANCEoverride val name: Intget() = R.string.networkoverride val icon: Intget() = R.mipmap.all_plate_iconoverride fun onClickWithReturn(activity: Activity): Boolean {startUniversalActivity(HttpFragment::class.java,activity,null,true)return true}override fun onAppInit(context: Context?) {}}

滴滴APM工具Dokit相关推荐

  1. ARMS在APM工具选型中的实践

    简介: 当前的系统在数字化转型需求以及互联网架构实施的影响下,越来越普遍地使用了微服务架构,我们在享受微服务带来的好处(开发效率高, 独立部署, 水平扩展, 故障与资源隔离等等)外,也带来测试,事务, ...

  2. apm工具pinpoint

    一.APM由来? 微服务架构下,服务按照不同的维度进行拆分,一次请求 往往需要涉及到多个服务.互联网应用构建在不同的软件模 块上,这些软件模块,有可能是由不同的团队开发.可能使 用不同的编程语言来实现 ...

  3. APM工具 Pinpoint使用体验 以及与Dynatrace的对比

    Pinpoint是一款开源的APM工具,用于分析大型分布式系统,提供解决方案来处理海量跟踪数据,主要面向基于tomcat的Java 应用. 一.Pinpoint的架构 pinpoint 由以下几部分组 ...

  4. java agent_GitHub - dingjs/javaagent: 基于javaagent开发的APM工具,收集方法的执行次数和执行时间,定时输出成json格式的日志。...

    Javaagent 概述 javaagent是一个简单优雅的java agent,利用java自带的instrument特性+javassist字节码编辑技术,实现了无侵入的方法级性能监控.相比于Ne ...

  5. 滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star

    整理 | Jane 出品 | AI科技大本营(ID:rgznai100) 2018 年,科技企业纷纷布局开源战略后迎来的第一个"丰收年".但对滴滴来说,2019 年才迎来其第一波开 ...

  6. 应用性能监测工具(APM)VS数据可观测平台

    一.什么是数据可观测性? 数据可观测性是一种数据操作的方法和解决方案,可以实时监控.检测.预测.预防和解决基础架构.数据和应用程序层中的问题. 企业应用程序的可观察性越高,就越容易确定影响其问题的根本 ...

  7. 2018年最佳45 APM(应用程序性能监视和管理)工具

    应用程序性能管理(APM)工具收集和监视大量数据,以管理软件应用程序的性能和可用性.APM工具并不缺乏,为您的项目选择一个可能很麻烦. 这里列出了45种应用程序监控工具及其下载链接和主要功能. 1)新 ...

  8. 开源APM应用性能管理工具调研

    最近在设计一个DevOps平台,希望整合一个APM工具进来,因为APM既可用于性能测试也可用于运维性能监控,是典型的Dev+Ops产品. 商业的APM工具国内外已经有不少成熟产品了,而开源的好像不多见 ...

  9. 滴滴章文嵩:一个人的 20 年开源热情和国内互联网开源运动

    作者 | Just 出品 | AI科技大本营(ID:rgznai100) 开源热情 就是好玩儿.说起他在22年前的第一款开源软件LVS(Linux Virtual Server),章文嵩这样描述彼时心 ...

最新文章

  1. 使用Sentinel配置Redis 3.x主从高可用服务
  2. variant php,Variant 是什么数据类型?
  3. 简单粗暴的入门机器学习
  4. 中介者模式分析、结构图及基本代码
  5. html一行省略号变手型,鼠标移动到表格的TD上的时候显示成一个手型的样子怎么做?...
  6. 【Python学习】 - Matplotlib二维绘图 - plt.matshow()和plt.imshow()区别对比
  7. 10种顶级javascript框架比较-The Top 10 Javascript MVC Frameworks
  8. C#LeetCode刷题-Map
  9. ubuntu 下系统监视器_Ubuntu下,用Pyinstaller打包桌面系统时,你踩坑了没?
  10. logback:RollingFileAppender
  11. 写python的笔记本_python笔记本:更改写入的fi
  12. PHP7实战开发简单CMS内容管理系统(3) 引入后台首页
  13. xp计算机如何查看内存大小,xp如何查看内存大小
  14. java实现网上购物系统用例图_基于Web的网上商城购物系统的设计与实现
  15. 到底如何理解文本?一文读懂命名实体识别(实体消歧和实体统一)
  16. MacBook Air装单独win7
  17. 2019HPU-ICPC-Training-1
  18. matlab冲激函数delta,信号与系统matlab实验指导书解决方案.doc
  19. token失效 判断access_微信开发-ACCESS TOKEN 过期失效解决方案
  20. 燃气热水器和电热水器哪个好 燃气热水器和电热水器的优缺点

热门文章

  1. Tomcat端口被占用,解决方法
  2. Win10[应用商店]损坏,修复方法之一
  3. Kylin源码解析——从CubingJob的构建过程看Kylin的工作原理
  4. 【Matlab】ASCII图片生成、迷宫生成和词云图生成
  5. Tomcat启动成功,但是访问项目时或者是localhost:8080时出现404
  6. word文档编辑受限制怎么解除?
  7. utc时间 单位换算_日期时间
  8. php 7.1安装sockets,Centos7 下 PHP 添加缺少的组件 sockets 和 openssl
  9. 太白山北坡旅游路线登顶攻略
  10. @linux安装及使用(压缩|解压)工具RAR