1、增加Okhttp网络请求每个节点的日志回调
2、修改Okhttp的超时时间为总体20秒
CONNECT_TIMEOUT = 10000L
READ_TIMEOUT = 5000L
WRITE_TIMEOUT = 5000L
This commit is contained in:
donghongyu-pc
2024-09-10 11:26:19 +08:00
parent 22f72abb0b
commit 3d11f3aa94
3 changed files with 37 additions and 16 deletions

View File

@@ -177,9 +177,9 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener {
BadCaseManager.init(mContext!!)
if (DebugConfig.isDebug()) {
SdtManager.init(mContext!!, true, DetectResultImpl())
// 监听弱网
WeakNetworkStrategy.startListen()
}
// 监听弱网
WeakNetworkStrategy.startListen()
lookAroundDataProvider.init(mContext!!)
(mContext as? Application)?.also {
mofangProvider.init(it)

View File

@@ -3,6 +3,7 @@ package com.zhjt.mogo_core_function_devatools.weaknetwork
import android.util.Log
import com.mogo.cloud.network.WeakNetworkManager
import com.mogo.cloud.network.WeakNetworkManager.setListener
import com.mogo.commons.utils.MogoAnalyticUtils
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
@@ -10,6 +11,7 @@ import com.mogo.weak.network.SdtManager
import com.zhjt.service.chain.ChainLog
import java.util.concurrent.locks.ReentrantReadWriteLock
object WeakNetworkStrategy {
private const val TAG = "WeakNetworkStrategy"
@@ -19,7 +21,8 @@ object WeakNetworkStrategy {
private const val WEAK_HTTP_RTT = 1300
private const val VERY_CONSUMING_TIME_URL = "/yycp-launcherSnapshot/launcherSnapshot/querySnapshotSync"
private const val VERY_CONSUMING_TIME_URL =
"/yycp-launcherSnapshot/launcherSnapshot/querySnapshotSync"
private var lastOutputTime = 0L
@@ -41,16 +44,34 @@ object WeakNetworkStrategy {
setListener(object : WeakNetworkManager.OnWeakHttpListener {
override fun onHttpRttReceived(hashCode: Int, url: String, timeStamp: Long) {
if (VERY_CONSUMING_TIME_URL in url) return
outputLog(url, timeStamp)
//outputLog(url, timeStamp)
}
override fun onFailEvent(hashCode: Int, url: String, timeStamp: Long, currentFailCount: Long) {
outputLog(url, timeStamp, true)
override fun onFailEvent(
hashCode: Int,
url: String,
timeStamp: Long,
currentFailCount: Long
) {
//outputLog(url, timeStamp, true)
}
override fun onWeakNetworkEvent() {
// // 大而全接口干扰,需排除掉
// Log.d(TAG, "收到弱网事件!")
// 大而全接口干扰,需排除掉
//Log.d(TAG, "收到弱网事件!")
}
override fun logMethod(name: String, startTime: Long) {
ToastUtils.showShort("当前网络质量差!")
// 网络质量差的请求上报埋点
val elapsedTime: Long = System.nanoTime() - startTime
val properties: MutableMap<String, Any> = HashMap()
properties["http_request"] = name
properties["http_request_start_time"] = startTime
properties["http_request_elapsed_time"] = elapsedTime
MogoAnalyticUtils.track("http_net_status", properties)
}
})
}