Switch IpManager and IpReachabilityMonitor to use SharedLog
Test: as follows
- built
- flashed
- booted
- "runtest frameworks-net" passes
- frameworks/opt/net/wifi/tests/wifitests/runtests.sh passes
- frameworks/base/wifi/tests/runtests.sh passes
- roamed from AP to AP watching IpRM logs accumulate
Bug: 62476366
Bug: 62162774
Change-Id: I155a26259420919eeed74166bacce3311caa49da
This commit is contained in:
@@ -34,6 +34,7 @@ import android.net.dhcp.DhcpClient;
|
||||
import android.net.metrics.IpConnectivityLog;
|
||||
import android.net.metrics.IpManagerEvent;
|
||||
import android.net.util.MultinetworkPolicyTracker;
|
||||
import android.net.util.SharedLog;
|
||||
import android.os.INetworkManagementService;
|
||||
import android.os.Message;
|
||||
import android.os.RemoteException;
|
||||
@@ -184,7 +185,7 @@ public class IpManager extends StateMachine {
|
||||
}
|
||||
|
||||
private void log(String msg) {
|
||||
mLocalLog.log(PREFIX + msg);
|
||||
mLog.log(PREFIX + msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -399,7 +400,7 @@ public class IpManager extends StateMachine {
|
||||
private final WakeupMessage mProvisioningTimeoutAlarm;
|
||||
private final WakeupMessage mDhcpActionTimeoutAlarm;
|
||||
private final MultinetworkPolicyTracker mMultinetworkPolicyTracker;
|
||||
private final LocalLog mLocalLog;
|
||||
private final SharedLog mLog;
|
||||
private final LocalLog mConnectivityPacketLog;
|
||||
private final MessageHandlingLogger mMsgStateLogger;
|
||||
private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
|
||||
@@ -440,7 +441,7 @@ public class IpManager extends StateMachine {
|
||||
mCallback = new LoggingCallbackWrapper(callback);
|
||||
mNwService = nwService;
|
||||
|
||||
mLocalLog = new LocalLog(MAX_LOG_RECORDS);
|
||||
mLog = new SharedLog(MAX_LOG_RECORDS, mTag);
|
||||
mConnectivityPacketLog = new LocalLog(MAX_PACKET_RECORDS);
|
||||
mMsgStateLogger = new MessageHandlingLogger();
|
||||
|
||||
@@ -485,7 +486,7 @@ public class IpManager extends StateMachine {
|
||||
|
||||
private void logMsg(String msg) {
|
||||
Log.d(mTag, msg);
|
||||
getHandler().post(() -> { mLocalLog.log("OBSERVED " + msg); });
|
||||
getHandler().post(() -> { mLog.log("OBSERVED " + msg); });
|
||||
}
|
||||
};
|
||||
|
||||
@@ -493,7 +494,7 @@ public class IpManager extends StateMachine {
|
||||
mLinkProperties.setInterfaceName(mInterfaceName);
|
||||
|
||||
mMultinetworkPolicyTracker = new MultinetworkPolicyTracker(mContext, getHandler(),
|
||||
() -> { mLocalLog.log("OBSERVED AvoidBadWifi changed"); });
|
||||
() -> { mLog.log("OBSERVED AvoidBadWifi changed"); });
|
||||
|
||||
mProvisioningTimeoutAlarm = new WakeupMessage(mContext, getHandler(),
|
||||
mTag + ".EVENT_PROVISIONING_TIMEOUT", EVENT_PROVISIONING_TIMEOUT);
|
||||
@@ -643,7 +644,7 @@ public class IpManager extends StateMachine {
|
||||
pw.println();
|
||||
pw.println(mTag + " StateMachine dump:");
|
||||
pw.increaseIndent();
|
||||
mLocalLog.readOnlyLocalLog().dump(fd, pw, args);
|
||||
mLog.dump(fd, pw, args);
|
||||
pw.decreaseIndent();
|
||||
|
||||
pw.println();
|
||||
@@ -678,7 +679,7 @@ public class IpManager extends StateMachine {
|
||||
msg.arg1, msg.arg2, Objects.toString(msg.obj), mMsgStateLogger);
|
||||
|
||||
final String richerLogLine = getWhatToString(msg.what) + " " + logLine;
|
||||
mLocalLog.log(richerLogLine);
|
||||
mLog.log(richerLogLine);
|
||||
if (VDBG) {
|
||||
Log.d(mTag, richerLogLine);
|
||||
}
|
||||
@@ -703,7 +704,7 @@ public class IpManager extends StateMachine {
|
||||
private void logError(String fmt, Object... args) {
|
||||
final String msg = "ERROR " + String.format(fmt, args);
|
||||
Log.e(mTag, msg);
|
||||
mLocalLog.log(msg);
|
||||
mLog.log(msg);
|
||||
}
|
||||
|
||||
private void getNetworkInterface() {
|
||||
@@ -1065,6 +1066,7 @@ public class IpManager extends StateMachine {
|
||||
mIpReachabilityMonitor = new IpReachabilityMonitor(
|
||||
mContext,
|
||||
mInterfaceName,
|
||||
mLog,
|
||||
new IpReachabilityMonitor.Callback() {
|
||||
@Override
|
||||
public void notifyLost(InetAddress ip, String logMsg) {
|
||||
|
||||
@@ -35,6 +35,7 @@ import android.net.netlink.StructNdaCacheInfo;
|
||||
import android.net.netlink.StructNdMsg;
|
||||
import android.net.netlink.StructNlMsgHdr;
|
||||
import android.net.util.MultinetworkPolicyTracker;
|
||||
import android.net.util.SharedLog;
|
||||
import android.os.PowerManager;
|
||||
import android.os.SystemClock;
|
||||
import android.system.ErrnoException;
|
||||
@@ -150,6 +151,7 @@ public class IpReachabilityMonitor {
|
||||
private final PowerManager.WakeLock mWakeLock;
|
||||
private final String mInterfaceName;
|
||||
private final int mInterfaceIndex;
|
||||
private final SharedLog mLog;
|
||||
private final Callback mCallback;
|
||||
private final MultinetworkPolicyTracker mMultinetworkPolicyTracker;
|
||||
private final NetlinkSocketObserver mNetlinkSocketObserver;
|
||||
@@ -221,11 +223,11 @@ public class IpReachabilityMonitor {
|
||||
return errno;
|
||||
}
|
||||
|
||||
public IpReachabilityMonitor(Context context, String ifName, Callback callback) {
|
||||
this(context, ifName, callback, null);
|
||||
public IpReachabilityMonitor(Context context, String ifName, SharedLog log, Callback callback) {
|
||||
this(context, ifName, log, callback, null);
|
||||
}
|
||||
|
||||
public IpReachabilityMonitor(Context context, String ifName, Callback callback,
|
||||
public IpReachabilityMonitor(Context context, String ifName, SharedLog log, Callback callback,
|
||||
MultinetworkPolicyTracker tracker) throws IllegalArgumentException {
|
||||
mInterfaceName = ifName;
|
||||
int ifIndex = -1;
|
||||
@@ -237,6 +239,7 @@ public class IpReachabilityMonitor {
|
||||
}
|
||||
mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)).newWakeLock(
|
||||
PowerManager.PARTIAL_WAKE_LOCK, TAG + "." + mInterfaceName);
|
||||
mLog = log.forSubComponent(TAG);
|
||||
mCallback = callback;
|
||||
mMultinetworkPolicyTracker = tracker;
|
||||
mNetlinkSocketObserver = new NetlinkSocketObserver();
|
||||
@@ -403,6 +406,8 @@ public class IpReachabilityMonitor {
|
||||
break;
|
||||
}
|
||||
final int returnValue = probeNeighbor(mInterfaceIndex, target);
|
||||
mLog.log(String.format("put neighbor %s into NUD_PROBE state (rval=%d)",
|
||||
target.getHostAddress(), returnValue));
|
||||
logEvent(IpReachabilityEvent.PROBE, returnValue);
|
||||
}
|
||||
mLastProbeTimeMs = SystemClock.elapsedRealtime();
|
||||
|
||||
Reference in New Issue
Block a user