didi / DoKit

一款面向泛前端产品研发全生命周期的效率平台。
Apache License 2.0
20.09k stars 3.09k forks source link

【Android】-函数耗时统计功能不生效 #1132

Open whalecodeim opened 1 year ago

whalecodeim commented 1 year ago

手机型号: Android 12 华为荣耀RNA-AN00 问题:使用plugin的函数耗时统计功能,配置信息后,函数统计功能无法生效。 配置信息:

gradle.properties 文件配置信息如下: DOKIT_PLUGIN_SWITCH=true DOKIT_LOG_SWITCH=true DOKIT_METHOD_SWITCH=true DOKIT_METHOD_STACK_LEVEL=4 DOKIT_METHOD_STRATEGY=0 DOKIT_THIRD_LIB_SWITCH=true

application的build.gradle文件配置信息如下:(改配置与android{} 配置同一级) apply plugin : 'com.didi.dokit' dokitExt { //通用设置 comm { //地图经纬度开关 gpsSwitch false //网络开关 networkSwitch false //大图开关 bigImgSwitch false //webView js 抓包 webViewSwitch false }

slowMethod {
    //调用栈模式配置
    stackMethod {
        //默认值为 5ms 小于该值的函数在调用栈中不显示
        thresholdTime 5
        //调用栈函数入口

        enterMethods =
            [
             "???.???.???.mine.ui.activity.SwitchShopActivity.initData",
             "???.???.???.main.ui.activity.MainActivity.init",
             "???.???.???.main.ui.activity.MainActivity.clearPlayerCoverBitmap"
            ]
        //黑名单 粒度最小到类 暂不支持到方法
        methodBlacklist = [""]
    }
    //普通模式配置
    normalMethod {
        //默认值为 500ms 小于该值的函数在运行时不会在控制台中被打印
        thresholdTime 100
        //需要针对函数插装的包名
        packageNames = ["???.???.???"]
        //不需要针对函数插装的包名和类名
        methodBlacklist = [""]
    }
}

}

实际运行结果: 构建阶段部分日志如下:(构建日志中并没有看到我配置的函数的插装日志信息)

Task :app:transformClassesWithDoKitCommTransformV34ForChinaDebug com.didichuxing.doraemonkit.plugin.classtransformer.CommClassTransformer : 3927 ms com.didichuxing.doraemonkit.plugin.classtransformer.BigImgClassTransformer : 74 ms com.didichuxing.doraemonkit.plugin.classtransformer.GSMClassTransformer : 50 ms com.didichuxing.doraemonkit.plugin.classtransformer.EnterMSClassTransformer : 60 ms

Task :app:transformClassesWithDoKitDependTransformV34_1ForChinaDebug com.didichuxing.doraemonkit.plugin.classtransformer.MSDClassTransformer : 233 ms

Task :app:transformClassesWithDoKitDependTransformV34_2ForChinaDebug com.didichuxing.doraemonkit.plugin.classtransformer.MSDClassTransformer : 167 ms

Task :app:mergeChinaDebugJavaResource

Task :app:transformClassesWithDoKitDependTransformV34_3ForChinaDebug com.didichuxing.doraemonkit.plugin.classtransformer.MSDClassTransformer : 162 ms

最终结果: 运行阶段打开logcat并没有看到有关TAG为DOKIT_SLOW_METHOD的任何信息。而且我的函数耗时肯定大于5ms的。

JasonBtc commented 9 months ago

一样也不打印,集成都弄了我半天,得在根目录的gradle下面配置classpath "com.didiglobal.booster:booster-gradle-plugin:4.16.2",文档是不更新了吗? 这文档是真辣鸡