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

Commit 53817ca8 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

Change-Id: I8c70503cf1d9f1d06f30a1936d2d88857d0cff53
parent 1b400477
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;
+2 −6
Original line number Diff line number Diff line
@@ -14,13 +14,12 @@
 * limitations under the License.
 */

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

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.net.captiveportal.CaptivePortalProbeResult;
import android.util.Log;
import android.util.StatsLog;

import com.android.internal.util.HexDump;
import com.android.server.connectivity.nano.DataStallEventProto;
@@ -37,13 +36,11 @@ import com.android.server.connectivity.nano.DataStallEventProto;
 */
public class DataStallStatsUtils {
    private static final String TAG = DataStallStatsUtils.class.getSimpleName();
    private static final int DATA_STALL_EVENT_ID = 121;
    private static final boolean DBG = false;

    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()) {
@@ -65,8 +62,7 @@ public class DataStallStatsUtils {
            Log.d(TAG, "write: " + stats + " with result: " + validationResult
                    + ", dns: " + HexDump.toHexString(stats.mDns));
        }
        // TODO(b/124613085): Update API once the public StatsLog API is ready.
        StatsLog.write(DATA_STALL_EVENT_ID,
        NetworkStackStatsLog.write(NetworkStackStatsLog.DATA_STALL_EVENT,
                stats.mEvaluationType,
                validationResult,
                stats.mNetworkType,
+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;
@@ -101,6 +99,8 @@ import com.android.internal.util.RingBufferIndices;
import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
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;