Implement NetworkRequestsState atom
Bug: 278833398 Test: atest FrameworksNetTests Change-Id: Ie83bf49693411e4c3f629c07d98071505f48c08f
This commit is contained in:
parent
fea003bd5b
commit
e3245081b1
1 changed files with 629 additions and 0 deletions
|
|
@ -281,6 +281,7 @@ import com.android.metrics.NetworkCountPerTransports;
|
|||
import com.android.metrics.NetworkDescription;
|
||||
import com.android.metrics.NetworkList;
|
||||
import com.android.metrics.NetworkRequestCount;
|
||||
import com.android.metrics.NetworkRequestStateStatsMetrics;
|
||||
import com.android.metrics.RequestCountForType;
|
||||
import com.android.modules.utils.BasicShellCommandHandler;
|
||||
import com.android.modules.utils.build.SdkLevel;
|
||||
|
|
@ -941,6 +942,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
|
||||
private final IpConnectivityLog mMetricsLog;
|
||||
|
||||
private final NetworkRequestStateStatsMetrics mNetworkRequestStateStatsMetrics;
|
||||
|
||||
@GuardedBy("mBandwidthRequests")
|
||||
private final SparseArray<Integer> mBandwidthRequests = new SparseArray<>(10);
|
||||
|
||||
|
|
@ -1421,6 +1424,19 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
return new AutomaticOnOffKeepaliveTracker(c, h);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see NetworkRequestStateStatsMetrics
|
||||
*/
|
||||
public NetworkRequestStateStatsMetrics makeNetworkRequestStateStatsMetrics(
|
||||
Context context) {
|
||||
// We currently have network requests metric for Watch devices only
|
||||
if (context.getPackageManager().hasSystemFeature(FEATURE_WATCH)) {
|
||||
return new NetworkRequestStateStatsMetrics();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BatteryStatsManager
|
||||
*/
|
||||
|
|
@ -1654,6 +1670,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
new RequestInfoPerUidCounter(MAX_NETWORK_REQUESTS_PER_SYSTEM_UID - 1);
|
||||
|
||||
mMetricsLog = logger;
|
||||
mNetworkRequestStateStatsMetrics = mDeps.makeNetworkRequestStateStatsMetrics(mContext);
|
||||
final NetworkRequest defaultInternetRequest = createDefaultRequest();
|
||||
mDefaultRequest = new NetworkRequestInfo(
|
||||
Process.myUid(), defaultInternetRequest, null,
|
||||
|
|
@ -5324,6 +5341,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
updateSignalStrengthThresholds(network, "REGISTER", req);
|
||||
}
|
||||
}
|
||||
} else if (req.isRequest() && mNetworkRequestStateStatsMetrics != null) {
|
||||
mNetworkRequestStateStatsMetrics.onNetworkRequestReceived(req);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5541,6 +5560,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
}
|
||||
if (req.isListen()) {
|
||||
removeListenRequestFromNetworks(req);
|
||||
} else if (req.isRequest() && mNetworkRequestStateStatsMetrics != null) {
|
||||
mNetworkRequestStateStatsMetrics.onNetworkRequestRemoved(req);
|
||||
}
|
||||
}
|
||||
nri.unlinkDeathRecipient();
|
||||
|
|
|
|||
Loading…
Reference in a new issue