Merge "Trace events while not recording history." into udc-dev am: 3a310dd2c0 am: 10a729d913

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23731718

Change-Id: Ie5063d38344f779f91c6252be892aa4c36b67150
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2023-06-21 18:10:44 +00:00
committed by Automerger Merge Worker
2 changed files with 12 additions and 17 deletions

View File

@ -259,6 +259,8 @@ public class BatteryStatsHistory {
} }
private TraceDelegate mTracer; private TraceDelegate mTracer;
private int mTraceLastState = 0;
private int mTraceLastState2 = 0;
/** /**
* Constructor * Constructor
@ -1241,7 +1243,6 @@ public class BatteryStatsHistory {
*/ */
private void recordTraceEvents(int code, HistoryTag tag) { private void recordTraceEvents(int code, HistoryTag tag) {
if (code == HistoryItem.EVENT_NONE) return; if (code == HistoryItem.EVENT_NONE) return;
if (!mTracer.tracingEnabled()) return;
final int idx = code & HistoryItem.EVENT_TYPE_MASK; final int idx = code & HistoryItem.EVENT_TYPE_MASK;
final String prefix = (code & HistoryItem.EVENT_FLAG_START) != 0 ? "+" : final String prefix = (code & HistoryItem.EVENT_FLAG_START) != 0 ? "+" :
@ -1270,8 +1271,6 @@ public class BatteryStatsHistory {
* Writes changes to a HistoryItem state bitmap to Atrace. * Writes changes to a HistoryItem state bitmap to Atrace.
*/ */
private void recordTraceCounters(int oldval, int newval, BitDescription[] descriptions) { private void recordTraceCounters(int oldval, int newval, BitDescription[] descriptions) {
if (!mTracer.tracingEnabled()) return;
int diff = oldval ^ newval; int diff = oldval ^ newval;
if (diff == 0) return; if (diff == 0) return;
@ -1324,6 +1323,16 @@ public class BatteryStatsHistory {
} }
private void writeHistoryItem(long elapsedRealtimeMs, long uptimeMs, HistoryItem cur) { private void writeHistoryItem(long elapsedRealtimeMs, long uptimeMs, HistoryItem cur) {
if (mTracer != null && mTracer.tracingEnabled()) {
recordTraceEvents(cur.eventCode, cur.eventTag);
recordTraceCounters(mTraceLastState, cur.states,
BatteryStats.HISTORY_STATE_DESCRIPTIONS);
recordTraceCounters(mTraceLastState2, cur.states2,
BatteryStats.HISTORY_STATE2_DESCRIPTIONS);
mTraceLastState = cur.states;
mTraceLastState2 = cur.states2;
}
if (!mHaveBatteryLevel || !mRecordingHistory) { if (!mHaveBatteryLevel || !mRecordingHistory) {
return; return;
} }
@ -1345,12 +1354,6 @@ public class BatteryStatsHistory {
+ Integer.toHexString(lastDiffStates2)); + Integer.toHexString(lastDiffStates2));
} }
recordTraceEvents(cur.eventCode, cur.eventTag);
recordTraceCounters(mHistoryLastWritten.states,
cur.states, BatteryStats.HISTORY_STATE_DESCRIPTIONS);
recordTraceCounters(mHistoryLastWritten.states2,
cur.states2, BatteryStats.HISTORY_STATE2_DESCRIPTIONS);
if (mHistoryBufferLastPos >= 0 && mHistoryLastWritten.cmd == HistoryItem.CMD_UPDATE if (mHistoryBufferLastPos >= 0 && mHistoryLastWritten.cmd == HistoryItem.CMD_UPDATE
&& timeDiffMs < 1000 && (diffStates & lastDiffStates) == 0 && timeDiffMs < 1000 && (diffStates & lastDiffStates) == 0
&& (diffStates2 & lastDiffStates2) == 0 && (diffStates2 & lastDiffStates2) == 0

View File

@ -93,8 +93,6 @@ public class BatteryStatsHistoryTest {
@Test @Test
public void testAtraceBinaryState1() { public void testAtraceBinaryState1() {
mHistory.forceRecordAllHistory();
InOrder inOrder = Mockito.inOrder(mTracer); InOrder inOrder = Mockito.inOrder(mTracer);
Mockito.when(mTracer.tracingEnabled()).thenReturn(true); Mockito.when(mTracer.tracingEnabled()).thenReturn(true);
@ -112,8 +110,6 @@ public class BatteryStatsHistoryTest {
@Test @Test
public void testAtraceBinaryState2() { public void testAtraceBinaryState2() {
mHistory.forceRecordAllHistory();
InOrder inOrder = Mockito.inOrder(mTracer); InOrder inOrder = Mockito.inOrder(mTracer);
Mockito.when(mTracer.tracingEnabled()).thenReturn(true); Mockito.when(mTracer.tracingEnabled()).thenReturn(true);
@ -131,8 +127,6 @@ public class BatteryStatsHistoryTest {
@Test @Test
public void testAtraceNumericalState() { public void testAtraceNumericalState() {
mHistory.forceRecordAllHistory();
InOrder inOrder = Mockito.inOrder(mTracer); InOrder inOrder = Mockito.inOrder(mTracer);
Mockito.when(mTracer.tracingEnabled()).thenReturn(true); Mockito.when(mTracer.tracingEnabled()).thenReturn(true);
@ -150,8 +144,6 @@ public class BatteryStatsHistoryTest {
@Test @Test
public void testAtraceInstantEvent() { public void testAtraceInstantEvent() {
mHistory.forceRecordAllHistory();
InOrder inOrder = Mockito.inOrder(mTracer); InOrder inOrder = Mockito.inOrder(mTracer);
Mockito.when(mTracer.tracingEnabled()).thenReturn(true); Mockito.when(mTracer.tracingEnabled()).thenReturn(true);