Loading proto/src/persist_atoms.proto +6 −0 Original line number Diff line number Diff line Loading @@ -728,6 +728,12 @@ message SatelliteController { optional int32 count_of_p2p_sms_available_notification_removed = 35; optional bool is_ntn_only_carrier = 36; optional int32 version_of_satellite_access_config = 37; optional int32 count_of_incoming_datagram_type_sos_sms_success = 38; optional int32 count_of_incoming_datagram_type_sos_sms_fail = 39; optional int32 count_of_outgoing_datagram_type_sms_success = 40; optional int32 count_of_outgoing_datagram_type_sms_fail = 41; optional int32 count_of_incoming_datagram_type_sms_success = 42; optional int32 count_of_incoming_datagram_type_sms_fail = 43; } message SatelliteSession { Loading src/java/com/android/internal/telephony/metrics/MetricsCollector.java +7 −1 Original line number Diff line number Diff line Loading @@ -1485,7 +1485,13 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { satelliteController.countOfP2PSmsAvailableNotificationShown, satelliteController.countOfP2PSmsAvailableNotificationRemoved, satelliteController.isNtnOnlyCarrier, satelliteController.versionOfSatelliteAccessConfig); satelliteController.versionOfSatelliteAccessConfig, satelliteController.countOfIncomingDatagramTypeSosSmsSuccess, satelliteController.countOfIncomingDatagramTypeSosSmsFail, satelliteController.countOfOutgoingDatagramTypeSmsSuccess, satelliteController.countOfOutgoingDatagramTypeSmsFail, satelliteController.countOfIncomingDatagramTypeSmsSuccess, satelliteController.countOfIncomingDatagramTypeSmsFail); } private static StatsEvent buildStatsEvent(SatelliteSession satelliteSession) { Loading src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +12 −0 Original line number Diff line number Diff line Loading @@ -786,6 +786,18 @@ public class PersistAtomsStorage { += stats.countOfP2PSmsAvailableNotificationRemoved; // Does not update isNtnOnlyCarrier due to it is a dimension field. existingStats.versionOfSatelliteAccessConfig = stats.versionOfSatelliteAccessConfig; existingStats.countOfIncomingDatagramTypeSosSmsSuccess += stats.countOfIncomingDatagramTypeSosSmsSuccess; existingStats.countOfIncomingDatagramTypeSosSmsFail += stats.countOfIncomingDatagramTypeSosSmsFail; existingStats.countOfOutgoingDatagramTypeSmsSuccess += stats.countOfOutgoingDatagramTypeSmsSuccess; existingStats.countOfOutgoingDatagramTypeSmsFail += stats.countOfOutgoingDatagramTypeSmsFail; existingStats.countOfIncomingDatagramTypeSmsSuccess += stats.countOfIncomingDatagramTypeSmsSuccess; existingStats.countOfIncomingDatagramTypeSmsFail += stats.countOfIncomingDatagramTypeSmsFail; } else { mAtoms.satelliteController = insertAtRandomPlace(mAtoms.satelliteController, stats, mMaxNumSatelliteStats); Loading src/java/com/android/internal/telephony/metrics/SatelliteStats.java +128 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,12 @@ public class SatelliteStats { private final int mCountOfP2PSmsAvailableNotificationRemoved; private static boolean sIsNtnOnlyCarrier; private static int sVersionOfSatelliteAccessConfig; private final int mCountOfIncomingDatagramTypeSosSmsSuccess; private final int mCountOfIncomingDatagramTypeSosSmsFail; private final int mCountOfOutgoingDatagramTypeSmsSuccess; private final int mCountOfOutgoingDatagramTypeSmsFail; private final int mCountOfIncomingDatagramTypeSmsSuccess; private final int mCountOfIncomingDatagramTypeSmsFail; private SatelliteControllerParams(Builder builder) { this.mCountOfSatelliteServiceEnablementsSuccess = Loading Loading @@ -181,6 +187,17 @@ public class SatelliteStats { this.sVersionOfSatelliteAccessConfig = builder.mVersionOfSatelliteAccessConfig.get(); } this.mCountOfIncomingDatagramTypeSosSmsSuccess = builder.mCountOfIncomingDatagramTypeSosSmsSuccess; this.mCountOfIncomingDatagramTypeSosSmsFail = builder.mCountOfIncomingDatagramTypeSosSmsFail; this.mCountOfOutgoingDatagramTypeSmsSuccess = builder.mCountOfOutgoingDatagramTypeSmsSuccess; this.mCountOfOutgoingDatagramTypeSmsFail = builder.mCountOfOutgoingDatagramTypeSmsFail; this.mCountOfIncomingDatagramTypeSmsSuccess = builder.mCountOfIncomingDatagramTypeSmsSuccess; this.mCountOfIncomingDatagramTypeSmsFail = builder.mCountOfIncomingDatagramTypeSmsFail; } public int getCountOfSatelliteServiceEnablementsSuccess() { Loading Loading @@ -331,6 +348,30 @@ public class SatelliteStats { return sVersionOfSatelliteAccessConfig; } public int getCountOfIncomingDatagramTypeSosSmsSuccess() { return mCountOfIncomingDatagramTypeSosSmsSuccess; } public int getCountOfIncomingDatagramTypeSosSmsFail() { return mCountOfIncomingDatagramTypeSosSmsFail; } public int getCountOfOutgoingDatagramTypeSmsSuccess() { return mCountOfOutgoingDatagramTypeSmsSuccess; } public int getCountOfOutgoingDatagramTypeSmsFail() { return mCountOfOutgoingDatagramTypeSmsFail; } public int getCountOfIncomingDatagramTypeSmsSuccess() { return mCountOfIncomingDatagramTypeSmsSuccess; } public int getCountOfIncomingDatagramTypeSmsFail() { return mCountOfIncomingDatagramTypeSmsFail; } /** * A builder class to create {@link SatelliteControllerParams} data structure class */ Loading Loading @@ -372,6 +413,12 @@ public class SatelliteStats { private int mCountOfP2PSmsAvailableNotificationRemoved = 0; private Optional<Boolean> mIsNtnOnlyCarrier = Optional.empty(); private Optional<Integer> mVersionOfSatelliteAccessConfig = Optional.empty(); private int mCountOfIncomingDatagramTypeSosSmsSuccess; private int mCountOfIncomingDatagramTypeSosSmsFail; private int mCountOfOutgoingDatagramTypeSmsSuccess; private int mCountOfOutgoingDatagramTypeSmsFail; private int mCountOfIncomingDatagramTypeSmsSuccess; private int mCountOfIncomingDatagramTypeSmsFail; /** * Sets countOfSatelliteServiceEnablementsSuccess value of {@link SatelliteController} Loading Loading @@ -739,6 +786,67 @@ public class SatelliteStats { return this; } /** * Sets countOfIncomingDatagramTypeSosSmsSuccess value of {@link SatelliteController} * atom then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSosSmsSuccess( int countOfIncomingDatagramTypeSosSmsSuccess) { this.mCountOfIncomingDatagramTypeSosSmsSuccess = countOfIncomingDatagramTypeSosSmsSuccess; return this; } /** * Sets countOfIncomingDatagramTypeSosSmsFail value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSosSmsFail( int countOfIncomingDatagramTypeSosSmsFail) { this.mCountOfIncomingDatagramTypeSosSmsFail = countOfIncomingDatagramTypeSosSmsFail; return this; } /** * Sets countOfOutgoingDatagramTypeSmsSuccess value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfOutgoingDatagramTypeSmsSuccess( int countOfOutgoingDatagramTypeSmsSuccess) { this.mCountOfOutgoingDatagramTypeSmsSuccess = countOfOutgoingDatagramTypeSmsSuccess; return this; } /** * Sets countOfOutgoingDatagramTypeSmsFail value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfOutgoingDatagramTypeSmsFail( int countOfOutgoingDatagramTypeSmsFail) { this.mCountOfOutgoingDatagramTypeSmsFail = countOfOutgoingDatagramTypeSmsFail; return this; } /** * Sets countOfIncomingDatagramTypeSmsSuccess value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSmsSuccess( int countOfIncomingDatagramTypeSmsSuccess) { this.mCountOfIncomingDatagramTypeSmsSuccess = countOfIncomingDatagramTypeSmsSuccess; return this; } /** * Sets countOfIncomingDatagramTypeSmsFail value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSmsFail( int countOfIncomingDatagramTypeSmsFail) { this.mCountOfIncomingDatagramTypeSmsFail = countOfIncomingDatagramTypeSmsFail; return this; } /** * Returns ControllerParams, which contains whole component of * {@link SatelliteController} atom Loading Loading @@ -799,6 +907,16 @@ public class SatelliteStats { + ", countOfP2PSmsAvailableNotificationRemoved=" + mCountOfP2PSmsAvailableNotificationRemoved + ", versionOfSatelliteAccessConfig=" + sVersionOfSatelliteAccessConfig + ", countOfIncomingDatagramTypeSosSmsSuccess=" + mCountOfIncomingDatagramTypeSosSmsSuccess + ", countOfIncomingDatagramTypeSosSmsFail=" + mCountOfIncomingDatagramTypeSosSmsFail + ", countOfOutgoingDatagramTypeSmsSuccess=" + mCountOfOutgoingDatagramTypeSmsSuccess + ", countOfOutgoingDatagramTypeSmsFail=" + mCountOfOutgoingDatagramTypeSmsFail + ", countOfIncomingDatagramTypeSmsSuccess=" + mCountOfIncomingDatagramTypeSmsSuccess + ", countOfIncomingDatagramTypeSmsFail=" + mCountOfIncomingDatagramTypeSmsFail + ")"; } } Loading Loading @@ -2892,6 +3010,16 @@ public class SatelliteStats { param.getCountOfP2PSmsAvailableNotificationRemoved(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.versionOfSatelliteAccessConfig = param.getVersionSatelliteAccessConfig(); proto.countOfIncomingDatagramTypeSosSmsSuccess = param.getCountOfIncomingDatagramTypeSosSmsSuccess(); proto.countOfIncomingDatagramTypeSosSmsFail = param.getCountOfIncomingDatagramTypeSosSmsFail(); proto.countOfOutgoingDatagramTypeSmsSuccess = param.getCountOfOutgoingDatagramTypeSmsSuccess(); proto.countOfOutgoingDatagramTypeSmsFail = param.getCountOfOutgoingDatagramTypeSmsFail(); proto.countOfIncomingDatagramTypeSmsSuccess = param.getCountOfIncomingDatagramTypeSmsSuccess(); proto.countOfIncomingDatagramTypeSmsFail = param.getCountOfIncomingDatagramTypeSmsFail(); if (DBG) logd("onSatelliteControllerMetrics" + param); mAtomsStorage.addSatelliteControllerStats(proto); } Loading src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java +2 −0 Original line number Diff line number Diff line Loading @@ -767,9 +767,11 @@ public class DatagramDispatcher extends Handler { if (resultCode == SATELLITE_RESULT_SUCCESS) { long smsTransmissionTime = mSmsTransmissionStartTime > 0 ? (System.currentTimeMillis() - mSmsTransmissionStartTime) : 0; mControllerMetricsStats.reportOutgoingDatagramSuccessCount(datagramType, false); mSessionMetricsStats.addCountOfSuccessfulOutgoingDatagram( datagramType, smsTransmissionTime); } else { mControllerMetricsStats.reportOutgoingDatagramFailCount(datagramType, false); mSessionMetricsStats.addCountOfFailedOutgoingDatagram( datagramType, resultCode); } Loading Loading
proto/src/persist_atoms.proto +6 −0 Original line number Diff line number Diff line Loading @@ -728,6 +728,12 @@ message SatelliteController { optional int32 count_of_p2p_sms_available_notification_removed = 35; optional bool is_ntn_only_carrier = 36; optional int32 version_of_satellite_access_config = 37; optional int32 count_of_incoming_datagram_type_sos_sms_success = 38; optional int32 count_of_incoming_datagram_type_sos_sms_fail = 39; optional int32 count_of_outgoing_datagram_type_sms_success = 40; optional int32 count_of_outgoing_datagram_type_sms_fail = 41; optional int32 count_of_incoming_datagram_type_sms_success = 42; optional int32 count_of_incoming_datagram_type_sms_fail = 43; } message SatelliteSession { Loading
src/java/com/android/internal/telephony/metrics/MetricsCollector.java +7 −1 Original line number Diff line number Diff line Loading @@ -1485,7 +1485,13 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { satelliteController.countOfP2PSmsAvailableNotificationShown, satelliteController.countOfP2PSmsAvailableNotificationRemoved, satelliteController.isNtnOnlyCarrier, satelliteController.versionOfSatelliteAccessConfig); satelliteController.versionOfSatelliteAccessConfig, satelliteController.countOfIncomingDatagramTypeSosSmsSuccess, satelliteController.countOfIncomingDatagramTypeSosSmsFail, satelliteController.countOfOutgoingDatagramTypeSmsSuccess, satelliteController.countOfOutgoingDatagramTypeSmsFail, satelliteController.countOfIncomingDatagramTypeSmsSuccess, satelliteController.countOfIncomingDatagramTypeSmsFail); } private static StatsEvent buildStatsEvent(SatelliteSession satelliteSession) { Loading
src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +12 −0 Original line number Diff line number Diff line Loading @@ -786,6 +786,18 @@ public class PersistAtomsStorage { += stats.countOfP2PSmsAvailableNotificationRemoved; // Does not update isNtnOnlyCarrier due to it is a dimension field. existingStats.versionOfSatelliteAccessConfig = stats.versionOfSatelliteAccessConfig; existingStats.countOfIncomingDatagramTypeSosSmsSuccess += stats.countOfIncomingDatagramTypeSosSmsSuccess; existingStats.countOfIncomingDatagramTypeSosSmsFail += stats.countOfIncomingDatagramTypeSosSmsFail; existingStats.countOfOutgoingDatagramTypeSmsSuccess += stats.countOfOutgoingDatagramTypeSmsSuccess; existingStats.countOfOutgoingDatagramTypeSmsFail += stats.countOfOutgoingDatagramTypeSmsFail; existingStats.countOfIncomingDatagramTypeSmsSuccess += stats.countOfIncomingDatagramTypeSmsSuccess; existingStats.countOfIncomingDatagramTypeSmsFail += stats.countOfIncomingDatagramTypeSmsFail; } else { mAtoms.satelliteController = insertAtRandomPlace(mAtoms.satelliteController, stats, mMaxNumSatelliteStats); Loading
src/java/com/android/internal/telephony/metrics/SatelliteStats.java +128 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,12 @@ public class SatelliteStats { private final int mCountOfP2PSmsAvailableNotificationRemoved; private static boolean sIsNtnOnlyCarrier; private static int sVersionOfSatelliteAccessConfig; private final int mCountOfIncomingDatagramTypeSosSmsSuccess; private final int mCountOfIncomingDatagramTypeSosSmsFail; private final int mCountOfOutgoingDatagramTypeSmsSuccess; private final int mCountOfOutgoingDatagramTypeSmsFail; private final int mCountOfIncomingDatagramTypeSmsSuccess; private final int mCountOfIncomingDatagramTypeSmsFail; private SatelliteControllerParams(Builder builder) { this.mCountOfSatelliteServiceEnablementsSuccess = Loading Loading @@ -181,6 +187,17 @@ public class SatelliteStats { this.sVersionOfSatelliteAccessConfig = builder.mVersionOfSatelliteAccessConfig.get(); } this.mCountOfIncomingDatagramTypeSosSmsSuccess = builder.mCountOfIncomingDatagramTypeSosSmsSuccess; this.mCountOfIncomingDatagramTypeSosSmsFail = builder.mCountOfIncomingDatagramTypeSosSmsFail; this.mCountOfOutgoingDatagramTypeSmsSuccess = builder.mCountOfOutgoingDatagramTypeSmsSuccess; this.mCountOfOutgoingDatagramTypeSmsFail = builder.mCountOfOutgoingDatagramTypeSmsFail; this.mCountOfIncomingDatagramTypeSmsSuccess = builder.mCountOfIncomingDatagramTypeSmsSuccess; this.mCountOfIncomingDatagramTypeSmsFail = builder.mCountOfIncomingDatagramTypeSmsFail; } public int getCountOfSatelliteServiceEnablementsSuccess() { Loading Loading @@ -331,6 +348,30 @@ public class SatelliteStats { return sVersionOfSatelliteAccessConfig; } public int getCountOfIncomingDatagramTypeSosSmsSuccess() { return mCountOfIncomingDatagramTypeSosSmsSuccess; } public int getCountOfIncomingDatagramTypeSosSmsFail() { return mCountOfIncomingDatagramTypeSosSmsFail; } public int getCountOfOutgoingDatagramTypeSmsSuccess() { return mCountOfOutgoingDatagramTypeSmsSuccess; } public int getCountOfOutgoingDatagramTypeSmsFail() { return mCountOfOutgoingDatagramTypeSmsFail; } public int getCountOfIncomingDatagramTypeSmsSuccess() { return mCountOfIncomingDatagramTypeSmsSuccess; } public int getCountOfIncomingDatagramTypeSmsFail() { return mCountOfIncomingDatagramTypeSmsFail; } /** * A builder class to create {@link SatelliteControllerParams} data structure class */ Loading Loading @@ -372,6 +413,12 @@ public class SatelliteStats { private int mCountOfP2PSmsAvailableNotificationRemoved = 0; private Optional<Boolean> mIsNtnOnlyCarrier = Optional.empty(); private Optional<Integer> mVersionOfSatelliteAccessConfig = Optional.empty(); private int mCountOfIncomingDatagramTypeSosSmsSuccess; private int mCountOfIncomingDatagramTypeSosSmsFail; private int mCountOfOutgoingDatagramTypeSmsSuccess; private int mCountOfOutgoingDatagramTypeSmsFail; private int mCountOfIncomingDatagramTypeSmsSuccess; private int mCountOfIncomingDatagramTypeSmsFail; /** * Sets countOfSatelliteServiceEnablementsSuccess value of {@link SatelliteController} Loading Loading @@ -739,6 +786,67 @@ public class SatelliteStats { return this; } /** * Sets countOfIncomingDatagramTypeSosSmsSuccess value of {@link SatelliteController} * atom then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSosSmsSuccess( int countOfIncomingDatagramTypeSosSmsSuccess) { this.mCountOfIncomingDatagramTypeSosSmsSuccess = countOfIncomingDatagramTypeSosSmsSuccess; return this; } /** * Sets countOfIncomingDatagramTypeSosSmsFail value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSosSmsFail( int countOfIncomingDatagramTypeSosSmsFail) { this.mCountOfIncomingDatagramTypeSosSmsFail = countOfIncomingDatagramTypeSosSmsFail; return this; } /** * Sets countOfOutgoingDatagramTypeSmsSuccess value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfOutgoingDatagramTypeSmsSuccess( int countOfOutgoingDatagramTypeSmsSuccess) { this.mCountOfOutgoingDatagramTypeSmsSuccess = countOfOutgoingDatagramTypeSmsSuccess; return this; } /** * Sets countOfOutgoingDatagramTypeSmsFail value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfOutgoingDatagramTypeSmsFail( int countOfOutgoingDatagramTypeSmsFail) { this.mCountOfOutgoingDatagramTypeSmsFail = countOfOutgoingDatagramTypeSmsFail; return this; } /** * Sets countOfIncomingDatagramTypeSmsSuccess value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSmsSuccess( int countOfIncomingDatagramTypeSmsSuccess) { this.mCountOfIncomingDatagramTypeSmsSuccess = countOfIncomingDatagramTypeSmsSuccess; return this; } /** * Sets countOfIncomingDatagramTypeSmsFail value of {@link SatelliteController} atom * then returns Builder class */ public Builder setCountOfIncomingDatagramTypeSmsFail( int countOfIncomingDatagramTypeSmsFail) { this.mCountOfIncomingDatagramTypeSmsFail = countOfIncomingDatagramTypeSmsFail; return this; } /** * Returns ControllerParams, which contains whole component of * {@link SatelliteController} atom Loading Loading @@ -799,6 +907,16 @@ public class SatelliteStats { + ", countOfP2PSmsAvailableNotificationRemoved=" + mCountOfP2PSmsAvailableNotificationRemoved + ", versionOfSatelliteAccessConfig=" + sVersionOfSatelliteAccessConfig + ", countOfIncomingDatagramTypeSosSmsSuccess=" + mCountOfIncomingDatagramTypeSosSmsSuccess + ", countOfIncomingDatagramTypeSosSmsFail=" + mCountOfIncomingDatagramTypeSosSmsFail + ", countOfOutgoingDatagramTypeSmsSuccess=" + mCountOfOutgoingDatagramTypeSmsSuccess + ", countOfOutgoingDatagramTypeSmsFail=" + mCountOfOutgoingDatagramTypeSmsFail + ", countOfIncomingDatagramTypeSmsSuccess=" + mCountOfIncomingDatagramTypeSmsSuccess + ", countOfIncomingDatagramTypeSmsFail=" + mCountOfIncomingDatagramTypeSmsFail + ")"; } } Loading Loading @@ -2892,6 +3010,16 @@ public class SatelliteStats { param.getCountOfP2PSmsAvailableNotificationRemoved(); proto.isNtnOnlyCarrier = param.isNtnOnlyCarrier(); proto.versionOfSatelliteAccessConfig = param.getVersionSatelliteAccessConfig(); proto.countOfIncomingDatagramTypeSosSmsSuccess = param.getCountOfIncomingDatagramTypeSosSmsSuccess(); proto.countOfIncomingDatagramTypeSosSmsFail = param.getCountOfIncomingDatagramTypeSosSmsFail(); proto.countOfOutgoingDatagramTypeSmsSuccess = param.getCountOfOutgoingDatagramTypeSmsSuccess(); proto.countOfOutgoingDatagramTypeSmsFail = param.getCountOfOutgoingDatagramTypeSmsFail(); proto.countOfIncomingDatagramTypeSmsSuccess = param.getCountOfIncomingDatagramTypeSmsSuccess(); proto.countOfIncomingDatagramTypeSmsFail = param.getCountOfIncomingDatagramTypeSmsFail(); if (DBG) logd("onSatelliteControllerMetrics" + param); mAtomsStorage.addSatelliteControllerStats(proto); } Loading
src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java +2 −0 Original line number Diff line number Diff line Loading @@ -767,9 +767,11 @@ public class DatagramDispatcher extends Handler { if (resultCode == SATELLITE_RESULT_SUCCESS) { long smsTransmissionTime = mSmsTransmissionStartTime > 0 ? (System.currentTimeMillis() - mSmsTransmissionStartTime) : 0; mControllerMetricsStats.reportOutgoingDatagramSuccessCount(datagramType, false); mSessionMetricsStats.addCountOfSuccessfulOutgoingDatagram( datagramType, smsTransmissionTime); } else { mControllerMetricsStats.reportOutgoingDatagramFailCount(datagramType, false); mSessionMetricsStats.addCountOfFailedOutgoingDatagram( datagramType, resultCode); } Loading