[Feat]第一阶段初始化时间加入链路日志中

This commit is contained in:
chenfufeng
2022-06-06 15:43:24 +08:00
parent 1070a27b34
commit 5cdb57ae80
5 changed files with 56 additions and 5 deletions

View File

@@ -5,15 +5,15 @@ import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.app.AppConfigInfo.appBuildTime
import com.mogo.eagle.core.data.app.AppConfigInfo.workingBranchHash
import com.mogo.eagle.core.data.app.AppConfigInfo.workingBranchName
import com.mogo.eagle.core.data.constants.MoGoConfig
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.rousetime.android_startup.AndroidStartup
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.test.crashreport.CrashReportConstants
import com.mogo.eagle.core.data.constants.MoGoConfig
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.launcher.BuildConfig
import com.mogo.launcher.R
import com.mogo.test.crashreport.CrashReportConstants
import com.rousetime.android_startup.AndroidStartup
class ConfigStartUp : AndroidStartup<Boolean>() {

View File

@@ -1,17 +1,33 @@
package com.mogo.launcher.stageone
import com.mogo.launcher.BuildConfig
import com.rousetime.android_startup.StartupListener
import com.rousetime.android_startup.model.CostTimesModel
import com.rousetime.android_startup.model.LoggerLevel
import com.rousetime.android_startup.model.StartupConfig
import com.rousetime.android_startup.provider.StartupProviderConfig
import org.greenrobot.eventbus.EventBus
class MogoStartupProviderConfig: StartupProviderConfig {
private val startupListener by lazy {
object : StartupListener {
override fun onCompleted(
totalMainThreadCostTime: Long,
costTimesModels: List<CostTimesModel>
) {
EventBus.getDefault().postSticky(costTimesModels)
}
}
}
override fun getConfig(): StartupConfig {
return when {
BuildConfig.DEBUG -> {
StartupConfig.Builder()
.setLoggerLevel(LoggerLevel.DEBUG)
.setOpenStatistics(true)
.setListener(startupListener)
.build()
}
else -> {
@@ -19,6 +35,7 @@ class MogoStartupProviderConfig: StartupProviderConfig {
.setLoggerLevel(LoggerLevel.NONE)
.setOpenStatistics(false)
.setAwaitTimeout(10000L)
.setListener(startupListener)
.build()
}
}

View File

@@ -238,7 +238,7 @@ ext {
//========================= DataStore ======================
androidx_datastore_preferences : "androidx.datastore:datastore-preferences:1.0.0",
androidx_datastore : "androidx.datastore:datastore:1.0.0",
android_start_up : "io.github.idisfkj:android-startup:1.1.0"
android_start_up : "com.mogo:android-startup:1.0.1"
]
}

View File

@@ -1,5 +1,8 @@
package com.mogo.eagle.core.function.main;
import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE_START_UP;
import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_INIT;
import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_HMI;
import android.content.Intent;
@@ -22,6 +25,14 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.BarUtils;
import com.mogo.service.intent.IMogoIntentListener;
import com.rousetime.android_startup.model.CostTimesModel;
import com.zhjt.service.chain.ChainLog;
import com.zhjt.service.chain.TracingConstants;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.List;
/**
* 针对作为Launcher的情况做个性化操作
@@ -38,6 +49,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DebugConfig.setNeedRequestUserInfo(true);
EventBus.getDefault().register(this);
CallerLogger.INSTANCE.i(M_HMI + TAG, "onCreate");
}
@@ -101,6 +113,26 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
}
}
@Subscribe(sticky = true)
public void handleStartUp(List<CostTimesModel> costTimesModels) {
for (CostTimesModel costModel : costTimesModels) {
traceStartUp(costModel.toString());
}
EventBus.getDefault().removeStickyEvent(costTimesModels);
}
@ChainLog(
linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS,
linkCode = CHAIN_LINK_INIT,
endpoint = TracingConstants.Endpoint.PAD,
nodeAliasCode = CHAIN_ALIAS_CODE_START_UP,
paramIndexes = {0},
clientPkFileName = "sn"
)
private void traceStartUp(String content) {
CallerLogger.INSTANCE.d(M_HMI + TAG, content);
}
@Override
protected void onDestroy() {
super.onDestroy();
@@ -113,6 +145,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
}
// 移除换肤监听
CallerSkinModeListenerManager.INSTANCE.removeListener(TAG);
EventBus.getDefault().unregister(this);
}
private void stopCountDown() {

View File

@@ -47,6 +47,7 @@ class ChainConstant {
const val CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED = "CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED"
const val CHAIN_ALIAS_CODE_INIT_ON_MAP_INIT = "CHAIN_ALIAS_CODE_INIT_ON_MAP_INIT"
const val CHAIN_ALIAS_CODE_START_UP = "CHAIN_ALIAS_CODE_START_UP"
//operation by user
const val CHAIN_ALIAS_CODE_OCH_BUS_START_AUTOPILOT = "CHAIN_ALIAS_CODE_OCH_BUS_START_AUTOPILOT"