Loading src/java/com/android/internal/telephony/dataconnection/LinkBandwidthEstimator.java +1 −1 Original line number Diff line number Diff line Loading @@ -760,7 +760,7 @@ public class LinkBandwidthEstimator extends Handler { int coldStartErrPercent = calculateErrorPercent(mStaticBwKbps, mBwSampleKbps); TelephonyMetrics.getInstance().writeBandwidthStats(mLink, mDataRat, getNrMode(mDataRat), mSignalLevel, bwEstExtErrPercent, coldStartErrPercent, mAvgUsedKbps); mSignalLevel, bwEstExtErrPercent, coldStartErrPercent, mBwSampleKbps); StringBuilder sb = new StringBuilder(); logd(sb.append(mLink) Loading src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java +13 −13 Original line number Diff line number Diff line Loading @@ -2951,11 +2951,11 @@ public class TelephonyMetrics { * Write bandwidth estimator stats */ public synchronized void writeBandwidthStats(int link, int rat, int nrMode, int signalLevel, int bwEstExtErrPercent, int coldStartErrPercent, int avgUsedKbps) { int signalLevel, int bwEstExtErrPercent, int coldStartErrPercent, int bwKbps) { BwEstimationStats stats = lookupEstimationStats(link, rat, nrMode); stats.mBwEstErrorAcc[signalLevel] += Math.abs(bwEstExtErrPercent); stats.mStaticBwErrorAcc[signalLevel] += Math.abs(coldStartErrPercent); stats.mAvgBwKbps[signalLevel] = avgUsedKbps; stats.mBwAccKbps[signalLevel] += bwKbps; stats.mCount[signalLevel]++; } Loading Loading @@ -2993,7 +2993,7 @@ public class TelephonyMetrics { final int mNrMode; final long[] mBwEstErrorAcc = new long[NUM_SIGNAL_LEVEL]; final long[] mStaticBwErrorAcc = new long[NUM_SIGNAL_LEVEL]; final int[] mAvgBwKbps = new int[NUM_SIGNAL_LEVEL]; final long[] mBwAccKbps = new long[NUM_SIGNAL_LEVEL]; final int[] mCount = new int[NUM_SIGNAL_LEVEL]; BwEstimationStats(int radioTechnology, int nrMode) { Loading @@ -3006,9 +3006,9 @@ public class TelephonyMetrics { StringBuilder sb = new StringBuilder(); return sb.append(LinkBandwidthEstimator.getDataRatName(mRadioTechnology, mNrMode)) .append("\n Count\n").append(printValues(mCount)) .append("\n AvgKbps\n").append(printValues(mAvgBwKbps)) .append("\n BwEst Error\n").append(printAvgError(mBwEstErrorAcc, mCount)) .append("\n StaticBw Error\n").append(printAvgError(mStaticBwErrorAcc, mCount)) .append("\n AvgKbps\n").append(printAvgValues(mBwAccKbps, mCount)) .append("\n BwEst Error\n").append(printAvgValues(mBwEstErrorAcc, mCount)) .append("\n StaticBw Error\n").append(printAvgValues(mStaticBwErrorAcc, mCount)) .toString(); } Loading @@ -3020,10 +3020,10 @@ public class TelephonyMetrics { return sb.toString(); } private String printAvgError(long[] stats, int[] count) { private String printAvgValues(long[] stats, int[] count) { StringBuilder sb = new StringBuilder(); for (int k = 0; k < NUM_SIGNAL_LEVEL; k++) { int avgStat = calculateAvgError(stats[k], count[k]); int avgStat = calculateAvg(stats[k], count[k]); sb.append(" " + avgStat); } return sb.toString(); Loading @@ -3050,16 +3050,16 @@ public class TelephonyMetrics { BandwidthEstimatorStats.PerLevel stats = new BandwidthEstimatorStats.PerLevel(); stats.signalLevel = level; stats.count = count; stats.avgBwKbps = mAvgBwKbps[level]; stats.staticBwErrorPercent = calculateAvgError(mStaticBwErrorAcc[level], count); stats.bwEstErrorPercent = calculateAvgError(mBwEstErrorAcc[level], count); stats.avgBwKbps = calculateAvg(mBwAccKbps[level], count); stats.staticBwErrorPercent = calculateAvg(mStaticBwErrorAcc[level], count); stats.bwEstErrorPercent = calculateAvg(mBwEstErrorAcc[level], count); return stats; } return null; } private int calculateAvgError(long errorAccPercent, int count) { return (count > 0) ? (int) (errorAccPercent / count) : 0; private int calculateAvg(long acc, int count) { return (count > 0) ? (int) (acc / count) : 0; } } Loading tests/telephonytests/src/com/android/internal/telephony/metrics/TelephonyMetricsTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -898,7 +898,7 @@ public class TelephonyMetricsTest extends TelephonyTest { assertEquals(NUM_SIGNAL_LEVEL - 1, stats.perRatTx[0].perLevel.length); assertEquals(2, stats.perRatTx[0].perLevel[0].count); assertEquals(0, stats.perRatTx[0].perLevel[0].signalLevel); assertEquals(500_000, stats.perRatTx[0].perLevel[0].avgBwKbps); assertEquals(400_000, stats.perRatTx[0].perLevel[0].avgBwKbps); assertEquals(40, stats.perRatTx[0].perLevel[0].staticBwErrorPercent); assertEquals(30, stats.perRatTx[0].perLevel[0].bwEstErrorPercent); } Loading Loading
src/java/com/android/internal/telephony/dataconnection/LinkBandwidthEstimator.java +1 −1 Original line number Diff line number Diff line Loading @@ -760,7 +760,7 @@ public class LinkBandwidthEstimator extends Handler { int coldStartErrPercent = calculateErrorPercent(mStaticBwKbps, mBwSampleKbps); TelephonyMetrics.getInstance().writeBandwidthStats(mLink, mDataRat, getNrMode(mDataRat), mSignalLevel, bwEstExtErrPercent, coldStartErrPercent, mAvgUsedKbps); mSignalLevel, bwEstExtErrPercent, coldStartErrPercent, mBwSampleKbps); StringBuilder sb = new StringBuilder(); logd(sb.append(mLink) Loading
src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java +13 −13 Original line number Diff line number Diff line Loading @@ -2951,11 +2951,11 @@ public class TelephonyMetrics { * Write bandwidth estimator stats */ public synchronized void writeBandwidthStats(int link, int rat, int nrMode, int signalLevel, int bwEstExtErrPercent, int coldStartErrPercent, int avgUsedKbps) { int signalLevel, int bwEstExtErrPercent, int coldStartErrPercent, int bwKbps) { BwEstimationStats stats = lookupEstimationStats(link, rat, nrMode); stats.mBwEstErrorAcc[signalLevel] += Math.abs(bwEstExtErrPercent); stats.mStaticBwErrorAcc[signalLevel] += Math.abs(coldStartErrPercent); stats.mAvgBwKbps[signalLevel] = avgUsedKbps; stats.mBwAccKbps[signalLevel] += bwKbps; stats.mCount[signalLevel]++; } Loading Loading @@ -2993,7 +2993,7 @@ public class TelephonyMetrics { final int mNrMode; final long[] mBwEstErrorAcc = new long[NUM_SIGNAL_LEVEL]; final long[] mStaticBwErrorAcc = new long[NUM_SIGNAL_LEVEL]; final int[] mAvgBwKbps = new int[NUM_SIGNAL_LEVEL]; final long[] mBwAccKbps = new long[NUM_SIGNAL_LEVEL]; final int[] mCount = new int[NUM_SIGNAL_LEVEL]; BwEstimationStats(int radioTechnology, int nrMode) { Loading @@ -3006,9 +3006,9 @@ public class TelephonyMetrics { StringBuilder sb = new StringBuilder(); return sb.append(LinkBandwidthEstimator.getDataRatName(mRadioTechnology, mNrMode)) .append("\n Count\n").append(printValues(mCount)) .append("\n AvgKbps\n").append(printValues(mAvgBwKbps)) .append("\n BwEst Error\n").append(printAvgError(mBwEstErrorAcc, mCount)) .append("\n StaticBw Error\n").append(printAvgError(mStaticBwErrorAcc, mCount)) .append("\n AvgKbps\n").append(printAvgValues(mBwAccKbps, mCount)) .append("\n BwEst Error\n").append(printAvgValues(mBwEstErrorAcc, mCount)) .append("\n StaticBw Error\n").append(printAvgValues(mStaticBwErrorAcc, mCount)) .toString(); } Loading @@ -3020,10 +3020,10 @@ public class TelephonyMetrics { return sb.toString(); } private String printAvgError(long[] stats, int[] count) { private String printAvgValues(long[] stats, int[] count) { StringBuilder sb = new StringBuilder(); for (int k = 0; k < NUM_SIGNAL_LEVEL; k++) { int avgStat = calculateAvgError(stats[k], count[k]); int avgStat = calculateAvg(stats[k], count[k]); sb.append(" " + avgStat); } return sb.toString(); Loading @@ -3050,16 +3050,16 @@ public class TelephonyMetrics { BandwidthEstimatorStats.PerLevel stats = new BandwidthEstimatorStats.PerLevel(); stats.signalLevel = level; stats.count = count; stats.avgBwKbps = mAvgBwKbps[level]; stats.staticBwErrorPercent = calculateAvgError(mStaticBwErrorAcc[level], count); stats.bwEstErrorPercent = calculateAvgError(mBwEstErrorAcc[level], count); stats.avgBwKbps = calculateAvg(mBwAccKbps[level], count); stats.staticBwErrorPercent = calculateAvg(mStaticBwErrorAcc[level], count); stats.bwEstErrorPercent = calculateAvg(mBwEstErrorAcc[level], count); return stats; } return null; } private int calculateAvgError(long errorAccPercent, int count) { return (count > 0) ? (int) (errorAccPercent / count) : 0; private int calculateAvg(long acc, int count) { return (count > 0) ? (int) (acc / count) : 0; } } Loading
tests/telephonytests/src/com/android/internal/telephony/metrics/TelephonyMetricsTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -898,7 +898,7 @@ public class TelephonyMetricsTest extends TelephonyTest { assertEquals(NUM_SIGNAL_LEVEL - 1, stats.perRatTx[0].perLevel.length); assertEquals(2, stats.perRatTx[0].perLevel[0].count); assertEquals(0, stats.perRatTx[0].perLevel[0].signalLevel); assertEquals(500_000, stats.perRatTx[0].perLevel[0].avgBwKbps); assertEquals(400_000, stats.perRatTx[0].perLevel[0].avgBwKbps); assertEquals(40, stats.perRatTx[0].perLevel[0].staticBwErrorPercent); assertEquals(30, stats.perRatTx[0].perLevel[0].bwEstErrorPercent); } Loading