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

Commit e987ba6c authored by Chiachang Wang's avatar Chiachang Wang
Browse files

Migrate NetworkStack metrics off StatsLog.write

Now that the new metrics API can be used, NetworkStack
metrics need to migrate off the legacy StatsLog.write.

Bug: 130323000
Test: Test with ./out/host/linux-x86/bin/statsd_testdrive 121
      to ensure log properly
Test: Ensure NetworkStackStatsLog will be generated as expected
Test: atest NetworkStackTest

cherry-picking commit e512b269.

Change-Id: I8c70503cf1d9f1d06f30a1936d2d88857d0cff53
Merged-In: I1bfe856d771bf56fe33790aea22eceae2001921a
parent e1556e90
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ message Atom {
        LowMemReported low_mem_reported = 81;
        ThermalThrottlingStateChanged thermal_throttling = 86;
        NetworkDnsEventReported network_dns_event_reported = 116;
        DataStallEvent data_stall_event = 121;
        DataStallEvent data_stall_event = 121 [(log_from_module) = "network_stack"];
        BluetoothLinkLayerConnectionEvent bluetooth_link_layer_connection_event = 125;
        BluetoothAclConnectionStateChanged bluetooth_acl_connection_state_changed = 126;
        BluetoothScoConnectionStateChanged bluetooth_sco_connection_state_changed = 127;
@@ -165,7 +165,7 @@ message Atom {
        BluetoothSmpPairingEventReported bluetooth_smp_pairing_event_reported = 167;
        ProcessStartTime process_start_time = 169;
        BluetoothSocketConnectionStateChanged bluetooth_socket_connection_state_changed = 171;
        NetworkStackReported network_stack_reported = 182;
        NetworkStackReported network_stack_reported = 182 [(log_from_module) = "network_stack"];
    }

    // Pulled events will start at field 10000.
+9 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ android_library {
        "src/**/*.java",
        ":framework-networkstack-shared-srcs",
        ":services-networkstack-shared-srcs",
        ":statslog-networkstack-java-gen",
    ],
    static_libs: [
        "androidx.annotation_annotation",
@@ -104,3 +105,11 @@ android_app {
    certificate: "networkstack",
    manifest: "AndroidManifest.xml",
}

genrule {
    name: "statslog-networkstack-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module network_stack" +
         " --javaPackage com.android.networkstack.metrics --javaClass NetworkStackStatsLog",
    out: ["com/android/networkstack/metrics/NetworkStackStatsLog.java"],
}
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package android.net.metrics;
package com.android.networkstack.metrics;

import android.annotation.NonNull;
import android.annotation.Nullable;
+8 −3
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package android.net.metrics;
package com.android.networkstack.metrics;

import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -41,7 +41,6 @@ public class DataStallStatsUtils {
    private static int probeResultToEnum(@Nullable final CaptivePortalProbeResult result) {
        if (result == null) return DataStallEventProto.INVALID;

        // TODO: Add partial connectivity support.
        if (result.isSuccessful()) {
            return DataStallEventProto.VALID;
        } else if (result.isPortal()) {
@@ -63,6 +62,12 @@ public class DataStallStatsUtils {
            Log.d(TAG, "write: " + stats + " with result: " + validationResult
                    + ", dns: " + HexDump.toHexString(stats.mDns));
        }
        // TODO(b/124613085): Send to Statsd once the public StatsLog API is ready.
        NetworkStackStatsLog.write(NetworkStackStatsLog.DATA_STALL_EVENT,
                stats.mEvaluationType,
                validationResult,
                stats.mNetworkType,
                stats.mWifiInfo,
                stats.mCellularInfo,
                stats.mDns);
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -65,8 +65,6 @@ import android.net.TrafficStats;
import android.net.Uri;
import android.net.captiveportal.CaptivePortalProbeResult;
import android.net.captiveportal.CaptivePortalProbeSpec;
import android.net.metrics.DataStallDetectionStats;
import android.net.metrics.DataStallStatsUtils;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.NetworkEvent;
import android.net.metrics.ValidationProbeEvent;
@@ -102,6 +100,8 @@ import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
import com.android.internal.util.TrafficStatsConstants;
import com.android.networkstack.R;
import com.android.networkstack.metrics.DataStallDetectionStats;
import com.android.networkstack.metrics.DataStallStatsUtils;

import java.io.IOException;
import java.net.HttpURLConnection;
Loading