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

Commit b510556a authored by Soumyadeep Paul's avatar Soumyadeep Paul
Browse files

Add metrics Global Connect type metrics for all Satelite Atoms

Added supported_connection_mode metrics to track logging for Hybrid/Auto/Manual global connect types

Design Doc : go/hybrid-satellite-metrics

Bug: 437008124
Flag: EXEMPT bugfix
Test: atest SatelliteControllerTest SatelliteStatsTest PersistAtomsStorageTest DatagramDispatcherTest DatagramReceiverTest
Change-Id: I43b096a6a5149c1a5e924bd4dad53b8701561edc
parent 6aa8180b
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -754,6 +754,7 @@ message SatelliteController {
    optional int32 count_of_incoming_datagram_type_sms_fail = 43;
    optional int32 carrier_roaming_satellite_config_version = 44;
    optional int32 max_allowed_data_mode = 45;
    optional int32 supported_connection_mode = 46;
}

message SatelliteSession {
@@ -777,6 +778,8 @@ message SatelliteSession {
    optional bool is_emergency = 18;
    optional bool is_ntn_only_carrier = 19;
    optional int32 max_inactivity_duration_sec = 20;
    optional int32 supported_connection_mode = 21;
    optional int32 session_connection_mode = 22;
}

message SatelliteIncomingDatagram {
@@ -786,6 +789,8 @@ message SatelliteIncomingDatagram {
    optional bool is_demo_mode = 4;
    optional int32 carrier_id = 5;
    optional bool is_ntn_only_carrier = 6;
    optional int32 supported_connection_mode = 7;
    optional int32 session_connection_mode = 8;
}

message SatelliteOutgoingDatagram {
@@ -796,6 +801,8 @@ message SatelliteOutgoingDatagram {
    optional bool is_demo_mode = 5;
    optional int32 carrier_id = 6;
    optional bool is_ntn_only_carrier = 7;
    optional int32 supported_connection_mode = 8;
    optional int32 session_connection_mode = 9;
}

message SatelliteProvision {
@@ -805,6 +812,7 @@ message SatelliteProvision {
    optional bool is_canceled = 4;
    optional int32 carrier_id = 5;
    optional bool is_ntn_only_carrier = 6;
    optional int32 supported_connection_mode = 7;
}

message SatelliteSosMessageRecommender {
@@ -819,6 +827,8 @@ message SatelliteSosMessageRecommender {
    optional bool is_wifi_connected = 9;
    optional int32 carrier_id = 10;
    optional bool is_ntn_only_carrier = 11;
    optional int32 supported_connection_mode = 12;
    optional int32 session_connection_mode = 13;
}

message DataNetworkValidation {
@@ -866,6 +876,8 @@ message CarrierRoamingSatelliteSession {
    repeated string satellite_supported_apps = 32;
    repeated int32 satellite_supported_uids = 33;
    repeated int64 per_app_satellite_data_consumed_bytes = 34;
    optional int32 supported_connection_mode = 35;
    optional int32 session_connection_mode = 36;
}

message CarrierRoamingSatelliteControllerStats {
@@ -881,6 +893,9 @@ message CarrierRoamingSatelliteControllerStats {
    optional bool is_multi_sim = 10;
    optional int32 count_of_satellite_sessions = 11;
    optional bool is_nb_iot_ntn = 12;
    optional int32 supported_connection_mode = 13;
    optional int32 count_of_session_connection_mode_automatic = 14;
    optional int32 count_of_session_connection_mode_manual = 15;
}

message SatelliteEntitlement {
@@ -892,6 +907,7 @@ message SatelliteEntitlement {
    optional bool is_allowed_service_entitlement = 6;
    repeated int32 entitlement_service_type = 7;
    optional int32 entitlement_data_policy = 8;
    optional int32 supported_connection_mode = 9;
}

message SatelliteConfigUpdater {
@@ -914,6 +930,8 @@ message SatelliteAccessController {
    optional int32 carrier_id = 10;
    optional int32 triggering_event = 11;
    optional bool is_ntn_only_carrier = 12;
    optional int32 supported_connection_mode = 13;
    optional int32 session_connection_mode = 14;
}

message OtpEvaluationEvent {
+28 −10
Original line number Diff line number Diff line
@@ -1560,7 +1560,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                satelliteController.countOfIncomingDatagramTypeSmsSuccess,
                satelliteController.countOfIncomingDatagramTypeSmsFail,
                satelliteController.carrierRoamingSatelliteConfigVersion,
                satelliteController.maxAllowedDataMode);
                satelliteController.maxAllowedDataMode,
                satelliteController.supportedConnectionMode);
    }

    private static StatsEvent buildStatsEvent(SatelliteSession satelliteSession) {
@@ -1585,7 +1586,9 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                satelliteSession.countOfAutoExitDueToTnNetwork,
                satelliteSession.isEmergency,
                satelliteSession.isNtnOnlyCarrier,
                satelliteSession.maxInactivityDurationSec);
                satelliteSession.maxInactivityDurationSec,
                satelliteSession.supportedConnectionMode,
                satelliteSession.sessionConnectionMode);
    }

    private static StatsEvent buildStatsEvent(SatelliteIncomingDatagram stats) {
@@ -1596,7 +1599,9 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.datagramTransferTimeMillis,
                stats.isDemoMode,
                stats.carrierId,
                stats.isNtnOnlyCarrier);
                stats.isNtnOnlyCarrier,
                stats.supportedConnectionMode,
                stats.sessionConnectionMode);
    }

    private static StatsEvent buildStatsEvent(SatelliteOutgoingDatagram stats) {
@@ -1608,7 +1613,9 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.datagramTransferTimeMillis,
                stats.isDemoMode,
                stats.carrierId,
                stats.isNtnOnlyCarrier);
                stats.isNtnOnlyCarrier,
                stats.supportedConnectionMode,
                stats.sessionConnectionMode);
    }

    private static StatsEvent buildStatsEvent(SatelliteProvision stats) {
@@ -1619,7 +1626,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.isProvisionRequest,
                stats.isCanceled,
                stats.carrierId,
                stats.isNtnOnlyCarrier);
                stats.isNtnOnlyCarrier,
                stats.supportedConnectionMode);
    }

    private static StatsEvent buildStatsEvent(SatelliteSosMessageRecommender stats) {
@@ -1635,7 +1643,9 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.isSatelliteAllowedInCurrentLocation,
                stats.isWifiConnected,
                stats.carrierId,
                stats.isNtnOnlyCarrier);
                stats.isNtnOnlyCarrier,
                stats.supportedConnectionMode,
                stats.sessionConnectionMode);
    }

    private static StatsEvent buildStatsEvent(DataNetworkValidation stats) {
@@ -1686,7 +1696,9 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.maxDownlinkBandwidthKbps,
                stats.satelliteSupportedApps,
                stats.satelliteSupportedUids,
                stats.perAppSatelliteDataConsumedBytes);
                stats.perAppSatelliteDataConsumedBytes,
                stats.supportedConnectionMode,
                stats.sessionConnectionMode);
    }

    private static StatsEvent buildStatsEvent(CarrierRoamingSatelliteControllerStats stats) {
@@ -1703,7 +1715,10 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.isDeviceEntitled,
                stats.isMultiSim,
                stats.countOfSatelliteSessions,
                stats.isNbIotNtn);
                stats.isNbIotNtn,
                stats.supportedConnectionMode,
                stats.countOfSessionConnectionModeAutomatic,
                stats.countOfSessionConnectionModeManual);
    }

    private static StatsEvent buildStatsEvent(SatelliteEntitlement stats) {
@@ -1716,7 +1731,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.count,
                stats.isAllowedServiceEntitlement,
                stats.entitlementServiceType,
                stats.entitlementDataPolicy);
                stats.entitlementDataPolicy,
                stats.supportedConnectionMode);
    }

    private static StatsEvent buildStatsEvent(SatelliteConfigUpdater stats) {
@@ -1741,7 +1757,9 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                stats.configDataSource,
                stats.carrierId,
                stats.triggeringEvent,
                stats.isNtnOnlyCarrier);
                stats.isNtnOnlyCarrier,
                stats.supportedConnectionMode,
                stats.sessionConnectionMode);
    }

    private static StatsEvent buildStatsEvent(OtpRedactionEvent event) {
+17 −5
Original line number Diff line number Diff line
@@ -899,6 +899,11 @@ public class PersistAtomsStorage {
            existingStats.isMultiSim = stats.isMultiSim;
            existingStats.countOfSatelliteSessions += stats.countOfSatelliteSessions;
            existingStats.isNbIotNtn = stats.isNbIotNtn;
            // Does not update supportedConnectionMode as it is dimension field
            existingStats.countOfSessionConnectionModeAutomatic +=
                    stats.countOfSessionConnectionModeAutomatic;
            existingStats.countOfSessionConnectionModeManual +=
                    stats.countOfSessionConnectionModeManual;
        } else {
            mAtoms.carrierRoamingSatelliteControllerStats = insertAtRandomPlace(
                    mAtoms.carrierRoamingSatelliteControllerStats, stats, mMaxNumSatelliteStats);
@@ -2452,7 +2457,9 @@ public class PersistAtomsStorage {
                    && stats.countOfAutoExitDueToScreenOff == key.countOfAutoExitDueToScreenOff
                    && stats.countOfAutoExitDueToTnNetwork == key.countOfAutoExitDueToTnNetwork
                    && stats.isEmergency == key.isEmergency
                    && stats.maxInactivityDurationSec == key.maxInactivityDurationSec) {
                    && stats.maxInactivityDurationSec == key.maxInactivityDurationSec
                    && stats.supportedConnectionMode == key.supportedConnectionMode
                    && stats.sessionConnectionMode == key.sessionConnectionMode) {
                return stats;
            }
        }
@@ -2475,7 +2482,9 @@ public class PersistAtomsStorage {
                    && stats.isSatelliteAllowedInCurrentLocation
                    == key.isSatelliteAllowedInCurrentLocation
                    && stats.isWifiConnected == key.isWifiConnected
                    && stats.carrierId == key.carrierId) {
                    && stats.carrierId == key.carrierId
                    && stats.supportedConnectionMode == key.supportedConnectionMode
                    && stats.sessionConnectionMode == key.sessionConnectionMode) {
                return stats;
            }
        }
@@ -2505,7 +2514,8 @@ public class PersistAtomsStorage {
     */
    private @Nullable SatelliteController find(SatelliteController key) {
        for (SatelliteController stats : mAtoms.satelliteController) {
            if (stats.carrierId == key.carrierId) {
            if (stats.carrierId == key.carrierId
                    && stats.supportedConnectionMode == key.supportedConnectionMode) {
                return stats;
            }
        }
@@ -2520,7 +2530,8 @@ public class PersistAtomsStorage {
            CarrierRoamingSatelliteControllerStats key) {
        for (CarrierRoamingSatelliteControllerStats stats :
                mAtoms.carrierRoamingSatelliteControllerStats) {
            if (stats.carrierId == key.carrierId) {
            if (stats.carrierId == key.carrierId
                    && stats.supportedConnectionMode == key.supportedConnectionMode) {
                return stats;
            }
        }
@@ -2535,7 +2546,8 @@ public class PersistAtomsStorage {
            if (stats.carrierId == key.carrierId
                    && stats.result == key.result
                    && stats.entitlementStatus == key.entitlementStatus
                    && stats.isRetry == key.isRetry) {
                    && stats.isRetry == key.isRetry
                    && stats.supportedConnectionMode == key.supportedConnectionMode) {
                return stats;
            }
        }
+369 −6

File changed.

Preview size limit exceeded, changes collapsed.

+4 −0
Original line number Diff line number Diff line
@@ -785,6 +785,10 @@ public class DatagramDispatcher extends Handler {
                        .setIsDemoMode(isDemoMode)
                        .setCarrierId(SatelliteController.getInstance().getSatelliteCarrierId())
                        .setIsNtnOnlyCarrier(SatelliteController.getInstance().isNtnOnlyCarrier())
                        .setSupportedConnectionMode(SatelliteController.getInstance()
                                .getSupportedConnectTypeMetrics())
                        .setSessionConnectionMode(SatelliteController.getInstance()
                                .getSessionConnectTypeMetrics())
                        .build());
        if (resultCode == SatelliteManager.SATELLITE_RESULT_SUCCESS) {
            mControllerMetricsStats.reportOutgoingDatagramSuccessCount(argument.datagramType,
Loading