Loading core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -618,7 +618,7 @@ public abstract class PerfettoProtoLogImpl extends IProtoLogClient.Stub implemen os.write(MessageData.MESSAGE_ID, messageHash); os.write(MESSAGE, message); os.write(LEVEL, level.id); os.write(LEVEL, level.protoMessageId); os.write(GROUP_ID, logGroup.getId()); os.end(messageConfigToken); Loading core/java/com/android/internal/protolog/ProtoLogDataSource.java +1 −1 Original line number Diff line number Diff line Loading @@ -299,7 +299,7 @@ public class ProtoLogDataSource extends DataSource<ProtoLogDataSource.Instance, case DEFAULT: break; case ENABLE_ALL: defaultLogFromLevel = LogLevel.DEBUG; defaultLogFromLevel = LogLevel.VERBOSE; break; default: throw new RuntimeException("Unhandled ProtoLog tracing mode type"); Loading core/java/com/android/internal/protolog/common/LogLevel.java +6 −4 Original line number Diff line number Diff line Loading @@ -20,18 +20,20 @@ import android.ravenwood.annotation.RavenwoodKeepWholeClass; @RavenwoodKeepWholeClass public enum LogLevel { DEBUG("d", 1), // Ordered by increasing severity. We rely on the natural order or ordinal value to determine // from which level to log. VERBOSE("v", 2), DEBUG("d", 1), INFO("i", 3), WARN("w", 4), ERROR("e", 5), WTF("wtf", 6); public final String shortCode; public final int id; public final int protoMessageId; LogLevel(String shortCode, int id) { LogLevel(String shortCode, int protoMessageId) { this.shortCode = shortCode; this.id = id; this.protoMessageId = protoMessageId; } } tests/Tracing/src/com/android/internal/protolog/ProcessedPerfettoProtoLogImplTest.java +60 −6 Original line number Diff line number Diff line Loading @@ -291,12 +291,11 @@ public class ProcessedPerfettoProtoLogImplTest { final ResultReader reader = new ResultReader(mWriter.write(), mTraceConfig); final ProtoLogTrace protolog = reader.readProtoLogTrace(); Truth.assertThat(protolog.messages).hasSize(5); Truth.assertThat(protolog.messages).hasSize(4); Truth.assertThat(protolog.messages.get(0).getLevel()).isEqualTo(LogLevel.DEBUG); Truth.assertThat(protolog.messages.get(1).getLevel()).isEqualTo(LogLevel.VERBOSE); Truth.assertThat(protolog.messages.get(2).getLevel()).isEqualTo(LogLevel.WARN); Truth.assertThat(protolog.messages.get(3).getLevel()).isEqualTo(LogLevel.ERROR); Truth.assertThat(protolog.messages.get(4).getLevel()).isEqualTo(LogLevel.WTF); Truth.assertThat(protolog.messages.get(1).getLevel()).isEqualTo(LogLevel.WARN); Truth.assertThat(protolog.messages.get(2).getLevel()).isEqualTo(LogLevel.ERROR); Truth.assertThat(protolog.messages.get(3).getLevel()).isEqualTo(LogLevel.WTF); } @Test Loading Loading @@ -702,7 +701,7 @@ public class ProcessedPerfettoProtoLogImplTest { Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.DEBUG)) .isTrue(); Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.VERBOSE)).isTrue(); LogLevel.VERBOSE)).isFalse(); Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.INFO)) .isTrue(); Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.WARN)) Loading Loading @@ -866,6 +865,61 @@ public class ProcessedPerfettoProtoLogImplTest { .isEqualTo("This message should also be logged 567"); } @Test public void verboseLowerThanDebugLogLevelDefaultLevel() throws IOException { PerfettoTraceMonitor traceMonitor = PerfettoTraceMonitor.newBuilder() .enableProtoLog(LogLevel.DEBUG, List.of(), TEST_PROTOLOG_DATASOURCE_NAME) .build(); try { traceMonitor.start(); sProtoLog.log(LogLevel.VERBOSE, TestProtoLogGroup.TEST_GROUP, "This message should not be logged"); sProtoLog.log(LogLevel.DEBUG, TestProtoLogGroup.TEST_GROUP, "This message should be logged %d", 123); } finally { traceMonitor.stop(mWriter); } final ResultReader reader = new ResultReader(mWriter.write(), mTraceConfig); final ProtoLogTrace protolog = reader.readProtoLogTrace(); Truth.assertThat(protolog.messages).hasSize(1); Truth.assertThat(protolog.messages.get(0).getLevel()) .isEqualTo(LogLevel.DEBUG); Truth.assertThat(protolog.messages.get(0).getMessage()) .isEqualTo("This message should be logged 123"); } @Test public void verboseLowerThanDebugLogLevel() throws IOException { PerfettoTraceMonitor traceMonitor = PerfettoTraceMonitor.newBuilder() .enableProtoLog(LogLevel.VERBOSE, List.of( new PerfettoTraceMonitor.Builder.ProtoLogGroupOverride( TestProtoLogGroup.TEST_GROUP.name(), LogLevel.DEBUG, false) ), TEST_PROTOLOG_DATASOURCE_NAME) .build(); try { traceMonitor.start(); sProtoLog.log(LogLevel.VERBOSE, TestProtoLogGroup.TEST_GROUP, "This message should not be logged"); sProtoLog.log(LogLevel.DEBUG, TestProtoLogGroup.TEST_GROUP, "This message should be logged %d", 123); } finally { traceMonitor.stop(mWriter); } final ResultReader reader = new ResultReader(mWriter.write(), mTraceConfig); final ProtoLogTrace protolog = reader.readProtoLogTrace(); Truth.assertThat(protolog.messages).hasSize(1); Truth.assertThat(protolog.messages.get(0).getLevel()) .isEqualTo(LogLevel.DEBUG); Truth.assertThat(protolog.messages.get(0).getMessage()) .isEqualTo("This message should be logged 123"); } @Test public void enablesLogGroupAfterLoadingConfig() { sProtoLog.stopLoggingToLogcat( Loading tests/Tracing/src/com/android/internal/protolog/ProtologDataSourceTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ public class ProtologDataSourceTest { .build() ).build()); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.DEBUG); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.VERBOSE); Truth.assertThat(tlsState.getShouldCollectStacktrace("SOME_TAG")).isFalse(); } Loading @@ -76,7 +76,7 @@ public class ProtologDataSourceTest { ).build() ); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.DEBUG); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.VERBOSE); Truth.assertThat(tlsState.getShouldCollectStacktrace("SOME_TAG")).isFalse(); } Loading Loading
core/java/com/android/internal/protolog/PerfettoProtoLogImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -618,7 +618,7 @@ public abstract class PerfettoProtoLogImpl extends IProtoLogClient.Stub implemen os.write(MessageData.MESSAGE_ID, messageHash); os.write(MESSAGE, message); os.write(LEVEL, level.id); os.write(LEVEL, level.protoMessageId); os.write(GROUP_ID, logGroup.getId()); os.end(messageConfigToken); Loading
core/java/com/android/internal/protolog/ProtoLogDataSource.java +1 −1 Original line number Diff line number Diff line Loading @@ -299,7 +299,7 @@ public class ProtoLogDataSource extends DataSource<ProtoLogDataSource.Instance, case DEFAULT: break; case ENABLE_ALL: defaultLogFromLevel = LogLevel.DEBUG; defaultLogFromLevel = LogLevel.VERBOSE; break; default: throw new RuntimeException("Unhandled ProtoLog tracing mode type"); Loading
core/java/com/android/internal/protolog/common/LogLevel.java +6 −4 Original line number Diff line number Diff line Loading @@ -20,18 +20,20 @@ import android.ravenwood.annotation.RavenwoodKeepWholeClass; @RavenwoodKeepWholeClass public enum LogLevel { DEBUG("d", 1), // Ordered by increasing severity. We rely on the natural order or ordinal value to determine // from which level to log. VERBOSE("v", 2), DEBUG("d", 1), INFO("i", 3), WARN("w", 4), ERROR("e", 5), WTF("wtf", 6); public final String shortCode; public final int id; public final int protoMessageId; LogLevel(String shortCode, int id) { LogLevel(String shortCode, int protoMessageId) { this.shortCode = shortCode; this.id = id; this.protoMessageId = protoMessageId; } }
tests/Tracing/src/com/android/internal/protolog/ProcessedPerfettoProtoLogImplTest.java +60 −6 Original line number Diff line number Diff line Loading @@ -291,12 +291,11 @@ public class ProcessedPerfettoProtoLogImplTest { final ResultReader reader = new ResultReader(mWriter.write(), mTraceConfig); final ProtoLogTrace protolog = reader.readProtoLogTrace(); Truth.assertThat(protolog.messages).hasSize(5); Truth.assertThat(protolog.messages).hasSize(4); Truth.assertThat(protolog.messages.get(0).getLevel()).isEqualTo(LogLevel.DEBUG); Truth.assertThat(protolog.messages.get(1).getLevel()).isEqualTo(LogLevel.VERBOSE); Truth.assertThat(protolog.messages.get(2).getLevel()).isEqualTo(LogLevel.WARN); Truth.assertThat(protolog.messages.get(3).getLevel()).isEqualTo(LogLevel.ERROR); Truth.assertThat(protolog.messages.get(4).getLevel()).isEqualTo(LogLevel.WTF); Truth.assertThat(protolog.messages.get(1).getLevel()).isEqualTo(LogLevel.WARN); Truth.assertThat(protolog.messages.get(2).getLevel()).isEqualTo(LogLevel.ERROR); Truth.assertThat(protolog.messages.get(3).getLevel()).isEqualTo(LogLevel.WTF); } @Test Loading Loading @@ -702,7 +701,7 @@ public class ProcessedPerfettoProtoLogImplTest { Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.DEBUG)) .isTrue(); Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.VERBOSE)).isTrue(); LogLevel.VERBOSE)).isFalse(); Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.INFO)) .isTrue(); Truth.assertThat(sProtoLog.isEnabled(TestProtoLogGroup.TEST_GROUP, LogLevel.WARN)) Loading Loading @@ -866,6 +865,61 @@ public class ProcessedPerfettoProtoLogImplTest { .isEqualTo("This message should also be logged 567"); } @Test public void verboseLowerThanDebugLogLevelDefaultLevel() throws IOException { PerfettoTraceMonitor traceMonitor = PerfettoTraceMonitor.newBuilder() .enableProtoLog(LogLevel.DEBUG, List.of(), TEST_PROTOLOG_DATASOURCE_NAME) .build(); try { traceMonitor.start(); sProtoLog.log(LogLevel.VERBOSE, TestProtoLogGroup.TEST_GROUP, "This message should not be logged"); sProtoLog.log(LogLevel.DEBUG, TestProtoLogGroup.TEST_GROUP, "This message should be logged %d", 123); } finally { traceMonitor.stop(mWriter); } final ResultReader reader = new ResultReader(mWriter.write(), mTraceConfig); final ProtoLogTrace protolog = reader.readProtoLogTrace(); Truth.assertThat(protolog.messages).hasSize(1); Truth.assertThat(protolog.messages.get(0).getLevel()) .isEqualTo(LogLevel.DEBUG); Truth.assertThat(protolog.messages.get(0).getMessage()) .isEqualTo("This message should be logged 123"); } @Test public void verboseLowerThanDebugLogLevel() throws IOException { PerfettoTraceMonitor traceMonitor = PerfettoTraceMonitor.newBuilder() .enableProtoLog(LogLevel.VERBOSE, List.of( new PerfettoTraceMonitor.Builder.ProtoLogGroupOverride( TestProtoLogGroup.TEST_GROUP.name(), LogLevel.DEBUG, false) ), TEST_PROTOLOG_DATASOURCE_NAME) .build(); try { traceMonitor.start(); sProtoLog.log(LogLevel.VERBOSE, TestProtoLogGroup.TEST_GROUP, "This message should not be logged"); sProtoLog.log(LogLevel.DEBUG, TestProtoLogGroup.TEST_GROUP, "This message should be logged %d", 123); } finally { traceMonitor.stop(mWriter); } final ResultReader reader = new ResultReader(mWriter.write(), mTraceConfig); final ProtoLogTrace protolog = reader.readProtoLogTrace(); Truth.assertThat(protolog.messages).hasSize(1); Truth.assertThat(protolog.messages.get(0).getLevel()) .isEqualTo(LogLevel.DEBUG); Truth.assertThat(protolog.messages.get(0).getMessage()) .isEqualTo("This message should be logged 123"); } @Test public void enablesLogGroupAfterLoadingConfig() { sProtoLog.stopLoggingToLogcat( Loading
tests/Tracing/src/com/android/internal/protolog/ProtologDataSourceTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ public class ProtologDataSourceTest { .build() ).build()); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.DEBUG); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.VERBOSE); Truth.assertThat(tlsState.getShouldCollectStacktrace("SOME_TAG")).isFalse(); } Loading @@ -76,7 +76,7 @@ public class ProtologDataSourceTest { ).build() ); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.DEBUG); Truth.assertThat(tlsState.getLogFromLevel("SOME_TAG")).isEqualTo(LogLevel.VERBOSE); Truth.assertThat(tlsState.getShouldCollectStacktrace("SOME_TAG")).isFalse(); } Loading