summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Siim Sammul <siims@google.com> 2021-06-28 14:53:35 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-06-28 14:53:35 +0000
commit309f87e0f89065f1db02f7b48f3cc8f6fedd4d5f (patch)
treee325425add8b0cd0e472aadff2455200160da15c
parent8bae06f66da0d9539550ab59d88060114c79059c (diff)
parent75d6665597c1a24568f9c2341613dc583ed92f90 (diff)
Merge "Fix process source propagation for binder calls stats settings so that it is correctly reported in the pushed atom BinderLatencyReported."
-rw-r--r--core/java/com/android/internal/os/BinderCallsStats.java5
-rw-r--r--core/java/com/android/internal/os/BinderLatencyObserver.java5
-rw-r--r--core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java34
3 files changed, 40 insertions, 4 deletions
diff --git a/core/java/com/android/internal/os/BinderCallsStats.java b/core/java/com/android/internal/os/BinderCallsStats.java
index 0ab2a900aa61..2cdf4e008cb4 100644
--- a/core/java/com/android/internal/os/BinderCallsStats.java
+++ b/core/java/com/android/internal/os/BinderCallsStats.java
@@ -930,15 +930,12 @@ public class BinderCallsStats implements BinderInternal.Observer {
private final Context mContext;
private final KeyValueListParser mParser = new KeyValueListParser(',');
private final BinderCallsStats mBinderCallsStats;
- private final int mProcessSource;
- public SettingsObserver(Context context, BinderCallsStats binderCallsStats,
- int processSource) {
+ public SettingsObserver(Context context, BinderCallsStats binderCallsStats) {
super(BackgroundThread.getHandler());
mContext = context;
context.getContentResolver().registerContentObserver(mUri, false, this);
mBinderCallsStats = binderCallsStats;
- mProcessSource = processSource;
// Always kick once to ensure that we match current state
onChange();
}
diff --git a/core/java/com/android/internal/os/BinderLatencyObserver.java b/core/java/com/android/internal/os/BinderLatencyObserver.java
index 5fa96bd9a152..af62fd78392a 100644
--- a/core/java/com/android/internal/os/BinderLatencyObserver.java
+++ b/core/java/com/android/internal/os/BinderLatencyObserver.java
@@ -332,4 +332,9 @@ public class BinderLatencyObserver {
public Runnable getStatsdPushRunnable() {
return mLatencyObserverRunnable;
}
+
+ @VisibleForTesting
+ public int getProcessSource() {
+ return mProcessSource;
+ }
}
diff --git a/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java b/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java
index ecd0276715ad..9b1afcb43006 100644
--- a/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java
@@ -835,6 +835,40 @@ public class BinderCallsStatsTest {
assertEquals(0, bcs.getLatencyObserver().getLatencyHistograms().size());
}
+ @Test
+ public void testProcessSource() {
+ BinderCallsStats defaultCallsStats = new BinderCallsStats(
+ new BinderCallsStats.Injector());
+
+ BinderCallsStats systemServerCallsStats = new BinderCallsStats(
+ new BinderCallsStats.Injector(),
+ com.android.internal.os.BinderLatencyProto.Dims.SYSTEM_SERVER);
+
+ BinderCallsStats telephonyCallsStats = new BinderCallsStats(
+ new BinderCallsStats.Injector(),
+ com.android.internal.os.BinderLatencyProto.Dims.TELEPHONY);
+
+ BinderCallsStats bluetoothCallsStats = new BinderCallsStats(
+ new BinderCallsStats.Injector(),
+ com.android.internal.os.BinderLatencyProto.Dims.BLUETOOTH);
+
+ assertEquals(
+ com.android.internal.os.BinderLatencyProto.Dims.SYSTEM_SERVER,
+ defaultCallsStats.getLatencyObserver().getProcessSource());
+
+ assertEquals(
+ com.android.internal.os.BinderLatencyProto.Dims.SYSTEM_SERVER,
+ systemServerCallsStats.getLatencyObserver().getProcessSource());
+
+ assertEquals(
+ com.android.internal.os.BinderLatencyProto.Dims.TELEPHONY,
+ telephonyCallsStats.getLatencyObserver().getProcessSource());
+
+ assertEquals(
+ com.android.internal.os.BinderLatencyProto.Dims.BLUETOOTH,
+ bluetoothCallsStats.getLatencyObserver().getProcessSource());
+ }
+
private static class TestHandler extends Handler {
ArrayList<Runnable> mRunnables = new ArrayList<>();