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:
@ -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
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user