滴滴APM工具Dokit
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相关推荐
- ARMS在APM工具选型中的实践
简介: 当前的系统在数字化转型需求以及互联网架构实施的影响下,越来越普遍地使用了微服务架构,我们在享受微服务带来的好处(开发效率高, 独立部署, 水平扩展, 故障与资源隔离等等)外,也带来测试,事务, ...
- apm工具pinpoint
一.APM由来? 微服务架构下,服务按照不同的维度进行拆分,一次请求 往往需要涉及到多个服务.互联网应用构建在不同的软件模 块上,这些软件模块,有可能是由不同的团队开发.可能使 用不同的编程语言来实现 ...
- APM工具 Pinpoint使用体验 以及与Dynatrace的对比
Pinpoint是一款开源的APM工具,用于分析大型分布式系统,提供解决方案来处理海量跟踪数据,主要面向基于tomcat的Java 应用. 一.Pinpoint的架构 pinpoint 由以下几部分组 ...
- java agent_GitHub - dingjs/javaagent: 基于javaagent开发的APM工具,收集方法的执行次数和执行时间,定时输出成json格式的日志。...
Javaagent 概述 javaagent是一个简单优雅的java agent,利用java自带的instrument特性+javassist字节码编辑技术,实现了无侵入的方法级性能监控.相比于Ne ...
- 滴滴开源在2019:十大重点项目盘点,DoKit客户端研发助手首破1万Star
整理 | Jane 出品 | AI科技大本营(ID:rgznai100) 2018 年,科技企业纷纷布局开源战略后迎来的第一个"丰收年".但对滴滴来说,2019 年才迎来其第一波开 ...
- 应用性能监测工具(APM)VS数据可观测平台
一.什么是数据可观测性? 数据可观测性是一种数据操作的方法和解决方案,可以实时监控.检测.预测.预防和解决基础架构.数据和应用程序层中的问题. 企业应用程序的可观察性越高,就越容易确定影响其问题的根本 ...
- 2018年最佳45 APM(应用程序性能监视和管理)工具
应用程序性能管理(APM)工具收集和监视大量数据,以管理软件应用程序的性能和可用性.APM工具并不缺乏,为您的项目选择一个可能很麻烦. 这里列出了45种应用程序监控工具及其下载链接和主要功能. 1)新 ...
- 开源APM应用性能管理工具调研
最近在设计一个DevOps平台,希望整合一个APM工具进来,因为APM既可用于性能测试也可用于运维性能监控,是典型的Dev+Ops产品. 商业的APM工具国内外已经有不少成熟产品了,而开源的好像不多见 ...
- 滴滴章文嵩:一个人的 20 年开源热情和国内互联网开源运动
作者 | Just 出品 | AI科技大本营(ID:rgznai100) 开源热情 就是好玩儿.说起他在22年前的第一款开源软件LVS(Linux Virtual Server),章文嵩这样描述彼时心 ...
最新文章
- 使用Sentinel配置Redis 3.x主从高可用服务
- variant php,Variant 是什么数据类型?
- 简单粗暴的入门机器学习
- 中介者模式分析、结构图及基本代码
- html一行省略号变手型,鼠标移动到表格的TD上的时候显示成一个手型的样子怎么做?...
- 【Python学习】 - Matplotlib二维绘图 - plt.matshow()和plt.imshow()区别对比
- 10种顶级javascript框架比较-The Top 10 Javascript MVC Frameworks
- C#LeetCode刷题-Map
- ubuntu 下系统监视器_Ubuntu下,用Pyinstaller打包桌面系统时,你踩坑了没?
- logback:RollingFileAppender
- 写python的笔记本_python笔记本:更改写入的fi
- PHP7实战开发简单CMS内容管理系统(3) 引入后台首页
- xp计算机如何查看内存大小,xp如何查看内存大小
- java实现网上购物系统用例图_基于Web的网上商城购物系统的设计与实现
- 到底如何理解文本?一文读懂命名实体识别(实体消歧和实体统一)
- MacBook Air装单独win7
- 2019HPU-ICPC-Training-1
- matlab冲激函数delta,信号与系统matlab实验指导书解决方案.doc
- token失效 判断access_微信开发-ACCESS TOKEN 过期失效解决方案
- 燃气热水器和电热水器哪个好 燃气热水器和电热水器的优缺点
热门文章
- Tomcat端口被占用,解决方法
- Win10[应用商店]损坏,修复方法之一
- Kylin源码解析——从CubingJob的构建过程看Kylin的工作原理
- 【Matlab】ASCII图片生成、迷宫生成和词云图生成
- Tomcat启动成功,但是访问项目时或者是localhost:8080时出现404
- word文档编辑受限制怎么解除?
- utc时间 单位换算_日期时间
- php 7.1安装sockets,Centos7 下 PHP 添加缺少的组件 sockets 和 openssl
- 太白山北坡旅游路线登顶攻略
- @linux安装及使用(压缩|解压)工具RAR