diff options
author | Jack Yu <jackyu@google.com> | 2023-02-04 01:36:26 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-02-04 01:36:26 +0000 |
commit | 8d36657af03b91933c34e9c85b283794b7c44d5b (patch) | |
tree | d8b3576223fefc1cebb82f2480d115fa7a386169 | |
parent | 07dd4931d2adcddab048c613291d9108f5fb10d7 (diff) | |
parent | 64ba97f03ed37ae4a143d475fe9f8e0bd06f75cf (diff) | |
download | telephony-8d36657af03b91933c34e9c85b283794b7c44d5b.tar.gz |
Merge "Log raw fail cause to metrics"
-rw-r--r-- | src/java/com/android/internal/telephony/data/DataNetwork.java | 11 | ||||
-rw-r--r-- | src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java | 4 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/java/com/android/internal/telephony/data/DataNetwork.java b/src/java/com/android/internal/telephony/data/DataNetwork.java index 3bcd7f340e..4293ea4f99 100644 --- a/src/java/com/android/internal/telephony/data/DataNetwork.java +++ b/src/java/com/android/internal/telephony/data/DataNetwork.java @@ -2446,7 +2446,8 @@ public class DataNetwork extends StateMachine { getDataNetworkType(), apnTypeBitmask, protocol, - mFailCause); + // Log the raw fail cause to avoid large amount of UNKNOWN showing on metrics. + response != null ? response.getCause() : mFailCause); } /** @@ -3263,7 +3264,7 @@ public class DataNetwork extends StateMachine { mDataNetworkCallback.invokeFromExecutor( () -> mDataNetworkCallback.onHandoverFailed(DataNetwork.this, mFailCause, retry, handoverFailureMode)); - trackHandoverFailure(); + trackHandoverFailure(response != null ? response.getCause() : mFailCause); } // No matter handover succeeded or not, transit back to connected state. @@ -3273,13 +3274,15 @@ public class DataNetwork extends StateMachine { /** * Called when handover failed. Record the source and target RAT{@link NetworkType} and the * failure cause {@link android.telephony.DataFailCause}. + * + * @param cause The fail cause. */ - private void trackHandoverFailure() { + private void trackHandoverFailure(int cause) { int sourceRat = getDataNetworkType(); int targetTransport = DataUtils.getTargetTransport(mTransport); int targetRat = getDataNetworkType(targetTransport); - mDataCallSessionStats.onHandoverFailure(mFailCause, sourceRat, targetRat); + mDataCallSessionStats.onHandoverFailure(cause, sourceRat, targetRat); } /** diff --git a/src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java b/src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java index 83192f9f26..6c711a9e85 100644 --- a/src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java +++ b/src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java @@ -84,14 +84,14 @@ public class DataCallSessionStats { * @param currentRat The data call current Network Type * @param apnTypeBitmask APN type bitmask * @param protocol Data connection protocol - * @param failureCause failure cause as per android.telephony.DataFailCause + * @param failureCause The raw failure cause from modem/IWLAN data service. */ public synchronized void onSetupDataCallResponse( @Nullable DataCallResponse response, @NetworkType int currentRat, @ApnType int apnTypeBitmask, @ProtocolType int protocol, - @DataFailureCause int failureCause) { + int failureCause) { // there should've been a call to onSetupDataCall to initiate the atom, // so this method is being called out of order -> no metric will be logged if (mDataCallSession == null) { |