Loading src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java +21 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,8 @@ import android.telephony.PersistentLogger; import android.telephony.Rlog; import android.telephony.satellite.SatelliteDatagram; import android.telephony.satellite.SatelliteManager; import android.telephony.satellite.SatelliteSessionStats; import android.util.Log; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -1404,4 +1406,23 @@ public class DatagramDispatcher extends Handler { mPersistentLogger.error(TAG, log); } } public void updateSessionStatsWithPendingUserMsgCount(SatelliteSessionStats datagramStats) { Log.d("SessionMetricsStats1", " mPendingEmergencyDatagramsMap size = " + mPendingEmergencyDatagramsMap.size()); Log.d("SessionMetricsStats1", " mPendingNonEmergencyDatagramsMap size = " + mPendingNonEmergencyDatagramsMap.size()); for (Entry<Long, SendSatelliteDatagramArgument> entry : mPendingEmergencyDatagramsMap.entrySet()) { SendSatelliteDatagramArgument argument = entry.getValue(); Log.d("SessionMetricsStats1", "DataGramType1 = " + argument.datagramType); datagramStats.updateCountOfUserMessagesInQueueToBeSent(argument.datagramType); } for (Entry<Long, SendSatelliteDatagramArgument> entry : mPendingNonEmergencyDatagramsMap.entrySet()) { SendSatelliteDatagramArgument argument = entry.getValue(); Log.d("SessionMetricsStats1", "DataGramType2 = " + argument.datagramType); datagramStats.updateCountOfUserMessagesInQueueToBeSent(argument.datagramType); } } } src/java/com/android/internal/telephony/satellite/metrics/SessionMetricsStats.java +13 −14 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ import com.android.internal.telephony.satellite.DatagramDispatcher; */ public class SessionMetricsStats { private static final String TAG = SessionMetricsStats.class.getSimpleName(); private static final boolean DBG = false; private static final boolean DBG = true; private static SessionMetricsStats sInstance = null; private @SatelliteManager.SatelliteResult int mInitializationResult; Loading @@ -62,11 +62,11 @@ public class SessionMetricsStats { private int mCountOfSatelliteNotificationDisplayed; private int mCountOfAutoExitDueToScreenOff; private int mCountOfAutoExitDueToTnNetwork; private SatelliteSessionStats datagramStats; private SatelliteSessionStats mDatagramStats; private SessionMetricsStats() { initializeSessionMetricsParam(); datagramStats = new SatelliteSessionStats(); mDatagramStats = new SatelliteSessionStats(); } /** Loading Loading @@ -133,7 +133,9 @@ public class SessionMetricsStats { public SessionMetricsStats addCountOfSuccessfulOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType, long datagramTransmissionTime) { datagramStats.recordSuccessfulOutgoingDatagramStats(datagramType, datagramTransmissionTime); logd("addCountOfSuccessfulOutgoingDatagram: datagramType=" + datagramType); mDatagramStats.recordSuccessfulOutgoingDatagramStats(datagramType, datagramTransmissionTime); if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; Loading @@ -141,8 +143,6 @@ public class SessionMetricsStats { mCountOfSuccessfulOutgoingDatagram++; mShadowCountOfSuccessfulOutgoingDatagram++; logd("addCountOfSuccessfulOutgoingDatagram: current count=" + mCountOfSuccessfulOutgoingDatagram); return this; } Loading @@ -150,7 +150,9 @@ public class SessionMetricsStats { public SessionMetricsStats addCountOfFailedOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType, @NonNull @SatelliteManager.SatelliteResult int resultCode) { datagramStats.addCountOfUnsuccessfulUserMessages(datagramType, resultCode); logd("addCountOfFailedOutgoingDatagram: datagramType=" + datagramType + " resultCode = " + resultCode); mDatagramStats.addCountOfUnsuccessfulUserMessages(datagramType, resultCode); if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; Loading @@ -158,14 +160,11 @@ public class SessionMetricsStats { mCountOfFailedOutgoingDatagram++; mShadowCountOfFailedOutgoingDatagram++; logd("addCountOfFailedOutgoingDatagram: current count=" + mCountOfFailedOutgoingDatagram); if (resultCode == SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE) { addCountOfTimedOutUserMessagesWaitingForConnection(datagramType); } else if (resultCode == SatelliteManager.SATELLITE_RESULT_MODEM_TIMEOUT) { addCountOfTimedOutUserMessagesWaitingForAck(datagramType); } return this; } Loading Loading @@ -304,9 +303,9 @@ public class SessionMetricsStats { .build(); bundle.putParcelable(SatelliteManager.KEY_SESSION_STATS, sessionStats); // TODO b/381007377 should retrieve MessagesInQueueToBeSent count per messageType and add // to datagramStats bundle.putParcelable(KEY_SESSION_STATS_V2, datagramStats); DatagramDispatcher.getInstance().updateSessionStatsWithPendingUserMsgCount(mDatagramStats); bundle.putParcelable(KEY_SESSION_STATS_V2, mDatagramStats); Log.i(TAG, "[END] DatagramStats = " +mDatagramStats); result.send(SATELLITE_RESULT_SUCCESS, bundle); } Loading Loading @@ -347,7 +346,7 @@ public class SessionMetricsStats { mShadowCountOfFailedOutgoingDatagram = 0; mShadowCountOfTimedOutUserMessagesWaitingForConnection = 0; mShadowCountOfTimedOutUserMessagesWaitingForAck = 0; datagramStats.clear(); mDatagramStats.clear(); } private static void logd(@NonNull String log) { Loading Loading
src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java +21 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,8 @@ import android.telephony.PersistentLogger; import android.telephony.Rlog; import android.telephony.satellite.SatelliteDatagram; import android.telephony.satellite.SatelliteManager; import android.telephony.satellite.SatelliteSessionStats; import android.util.Log; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -1404,4 +1406,23 @@ public class DatagramDispatcher extends Handler { mPersistentLogger.error(TAG, log); } } public void updateSessionStatsWithPendingUserMsgCount(SatelliteSessionStats datagramStats) { Log.d("SessionMetricsStats1", " mPendingEmergencyDatagramsMap size = " + mPendingEmergencyDatagramsMap.size()); Log.d("SessionMetricsStats1", " mPendingNonEmergencyDatagramsMap size = " + mPendingNonEmergencyDatagramsMap.size()); for (Entry<Long, SendSatelliteDatagramArgument> entry : mPendingEmergencyDatagramsMap.entrySet()) { SendSatelliteDatagramArgument argument = entry.getValue(); Log.d("SessionMetricsStats1", "DataGramType1 = " + argument.datagramType); datagramStats.updateCountOfUserMessagesInQueueToBeSent(argument.datagramType); } for (Entry<Long, SendSatelliteDatagramArgument> entry : mPendingNonEmergencyDatagramsMap.entrySet()) { SendSatelliteDatagramArgument argument = entry.getValue(); Log.d("SessionMetricsStats1", "DataGramType2 = " + argument.datagramType); datagramStats.updateCountOfUserMessagesInQueueToBeSent(argument.datagramType); } } }
src/java/com/android/internal/telephony/satellite/metrics/SessionMetricsStats.java +13 −14 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ import com.android.internal.telephony.satellite.DatagramDispatcher; */ public class SessionMetricsStats { private static final String TAG = SessionMetricsStats.class.getSimpleName(); private static final boolean DBG = false; private static final boolean DBG = true; private static SessionMetricsStats sInstance = null; private @SatelliteManager.SatelliteResult int mInitializationResult; Loading @@ -62,11 +62,11 @@ public class SessionMetricsStats { private int mCountOfSatelliteNotificationDisplayed; private int mCountOfAutoExitDueToScreenOff; private int mCountOfAutoExitDueToTnNetwork; private SatelliteSessionStats datagramStats; private SatelliteSessionStats mDatagramStats; private SessionMetricsStats() { initializeSessionMetricsParam(); datagramStats = new SatelliteSessionStats(); mDatagramStats = new SatelliteSessionStats(); } /** Loading Loading @@ -133,7 +133,9 @@ public class SessionMetricsStats { public SessionMetricsStats addCountOfSuccessfulOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType, long datagramTransmissionTime) { datagramStats.recordSuccessfulOutgoingDatagramStats(datagramType, datagramTransmissionTime); logd("addCountOfSuccessfulOutgoingDatagram: datagramType=" + datagramType); mDatagramStats.recordSuccessfulOutgoingDatagramStats(datagramType, datagramTransmissionTime); if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; Loading @@ -141,8 +143,6 @@ public class SessionMetricsStats { mCountOfSuccessfulOutgoingDatagram++; mShadowCountOfSuccessfulOutgoingDatagram++; logd("addCountOfSuccessfulOutgoingDatagram: current count=" + mCountOfSuccessfulOutgoingDatagram); return this; } Loading @@ -150,7 +150,9 @@ public class SessionMetricsStats { public SessionMetricsStats addCountOfFailedOutgoingDatagram( @NonNull @SatelliteManager.DatagramType int datagramType, @NonNull @SatelliteManager.SatelliteResult int resultCode) { datagramStats.addCountOfUnsuccessfulUserMessages(datagramType, resultCode); logd("addCountOfFailedOutgoingDatagram: datagramType=" + datagramType + " resultCode = " + resultCode); mDatagramStats.addCountOfUnsuccessfulUserMessages(datagramType, resultCode); if (datagramType == SatelliteManager.DATAGRAM_TYPE_KEEP_ALIVE) { // Ignore KEEP_ALIVE messages return this; Loading @@ -158,14 +160,11 @@ public class SessionMetricsStats { mCountOfFailedOutgoingDatagram++; mShadowCountOfFailedOutgoingDatagram++; logd("addCountOfFailedOutgoingDatagram: current count=" + mCountOfFailedOutgoingDatagram); if (resultCode == SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE) { addCountOfTimedOutUserMessagesWaitingForConnection(datagramType); } else if (resultCode == SatelliteManager.SATELLITE_RESULT_MODEM_TIMEOUT) { addCountOfTimedOutUserMessagesWaitingForAck(datagramType); } return this; } Loading Loading @@ -304,9 +303,9 @@ public class SessionMetricsStats { .build(); bundle.putParcelable(SatelliteManager.KEY_SESSION_STATS, sessionStats); // TODO b/381007377 should retrieve MessagesInQueueToBeSent count per messageType and add // to datagramStats bundle.putParcelable(KEY_SESSION_STATS_V2, datagramStats); DatagramDispatcher.getInstance().updateSessionStatsWithPendingUserMsgCount(mDatagramStats); bundle.putParcelable(KEY_SESSION_STATS_V2, mDatagramStats); Log.i(TAG, "[END] DatagramStats = " +mDatagramStats); result.send(SATELLITE_RESULT_SUCCESS, bundle); } Loading Loading @@ -347,7 +346,7 @@ public class SessionMetricsStats { mShadowCountOfFailedOutgoingDatagram = 0; mShadowCountOfTimedOutUserMessagesWaitingForConnection = 0; mShadowCountOfTimedOutUserMessagesWaitingForAck = 0; datagramStats.clear(); mDatagramStats.clear(); } private static void logd(@NonNull String log) { Loading