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

Commit 8024227b 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 e512b269132.

Change-Id: I8c70503cf1d9f1d06f30a1936d2d88857d0cff53
Merged-In: I1bfe856d771bf56fe33790aea22eceae2001921a
parent ac5b899a
Loading
Loading
Loading
Loading
+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;
+3 −2
Original line number Diff line number Diff line
@@ -59,8 +59,6 @@ import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.captiveportal.CaptivePortalProbeResult;
import android.net.metrics.DataStallDetectionStats;
import android.net.metrics.DataStallStatsUtils;
import android.net.metrics.IpConnectivityLog;
import android.net.util.SharedLog;
import android.net.wifi.WifiInfo;
@@ -78,6 +76,9 @@ import android.util.ArrayMap;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;

import com.android.networkstack.metrics.DataStallDetectionStats;
import com.android.networkstack.metrics.DataStallStatsUtils;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;