Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ac64056 authored by Hakjun Choi's avatar Hakjun Choi
Browse files

Add new fields for counting sms sms message for Satellite

Added counter for successful/failed incoming/outgoing messages
Related atom : SatelliteController atom

Fields definition
1. count_of_incoming_datagram_type_sos_sms_success : count haw many times sos or sms message have received successfully, this is similar with count_of_datagram_type_sos_sms_success, but it is for outgoing sos or sms message type.
2. count_of_incoming_datagram_type_sos_sms_fail : count how many times sos or sms message receive attempt have failed, this is similar with count_of_datagram_type_sos_sms_fail, but it is for outgoing sos or sms message type.
3. count_of_outgoing_sdatagram_type_sms_success : count how many times sms message have received successfully, this is needed because existing field count_of_datagram_type_sos_sms_success count merged value for sos and sms, we don't have way to distinguish sms or sos, so this field is added.
4. count_of_outgoing_datagram_type_sms_fail : similar with above
5. count_of_incoming_datagram_type_sms_success : similar with above, but it is for incoming sms case
6. count_of_incoming_datagram_type_sms_fail : similar with above

Flag: EXEMPT bug fix
Bug: 402622532
Test: atest atest PersistAtomsStorageTest SatelliteStatsTest SatelliteControllerTest
Test: manually test and check DB whether it is reported or not
Change-Id: Ideacbf2a9c56a67cb37b244067a6f6826fe5c354
parent 0e5c6b48
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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 {
+7 −1
Original line number Diff line number Diff line
@@ -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) {
+12 −0
Original line number Diff line number Diff line
@@ -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);
+128 −0
Original line number Diff line number Diff line
@@ -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 =
@@ -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() {
@@ -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
         */
@@ -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}
@@ -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
@@ -799,6 +907,16 @@ public class SatelliteStats {
                    + ", countOfP2PSmsAvailableNotificationRemoved="
                    + mCountOfP2PSmsAvailableNotificationRemoved
                    + ", versionOfSatelliteAccessConfig=" + sVersionOfSatelliteAccessConfig
                    + ", countOfIncomingDatagramTypeSosSmsSuccess="
                    + mCountOfIncomingDatagramTypeSosSmsSuccess
                    + ", countOfIncomingDatagramTypeSosSmsFail="
                    + mCountOfIncomingDatagramTypeSosSmsFail
                    + ", countOfOutgoingDatagramTypeSmsSuccess="
                    + mCountOfOutgoingDatagramTypeSmsSuccess
                    + ", countOfOutgoingDatagramTypeSmsFail=" + mCountOfOutgoingDatagramTypeSmsFail
                    + ", countOfIncomingDatagramTypeSmsSuccess="
                    + mCountOfIncomingDatagramTypeSmsSuccess
                    + ", countOfIncomingDatagramTypeSmsFail=" + mCountOfIncomingDatagramTypeSmsFail
                    + ")";
        }
    }
@@ -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);
    }
+2 −0
Original line number Diff line number Diff line
@@ -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