From 4dfbda2b422534dcab40784c80158df49c288f5d Mon Sep 17 00:00:00 2001 From: Pablo Gamito Date: Wed, 5 Apr 2023 13:48:34 +0000 Subject: [PATCH] Support Event Log capturing in Winscope Test: npm run build:unit && npm run test:unit Fixes: 258182396 Fixes: 262290862 Change-Id: Ia3b3d004555711a6ee418a4d6a47cd3f3579e901 --- tools/winscope/src/adb/winscope_proxy.py | 5 ++++ tools/winscope/src/app/trace_info.ts | 30 +++++++++++-------- tools/winscope/src/trace/trace_type.ts | 1 + .../trace_collection_utils.ts | 7 +++++ 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/tools/winscope/src/adb/winscope_proxy.py b/tools/winscope/src/adb/winscope_proxy.py index 87ccecc4e..c5866829c 100644 --- a/tools/winscope/src/adb/winscope_proxy.py +++ b/tools/winscope/src/adb/winscope_proxy.py @@ -192,6 +192,11 @@ TRACE_TARGETS = { 'su root service call Wayland 26 i32 1 >/dev/null\necho "Wayland trace started."', 'su root service call Wayland 26 i32 0 >/dev/null' ), + "eventlog": TraceTarget( + WinscopeFileMatcher("/data/local/tmp", "eventlog", "eventlog"), + 'rm -f /data/local/tmp/eventlog.winscope && EVENT_LOG_TRACING_START_TIME=$EPOCHREALTIME\necho "Event Log trace started."', + 'echo "EventLog\\n" > /data/local/tmp/eventlog.winscope && su root logcat -b events -v threadtime -v printable -v uid -v nsec -v epoch -b events -t $EVENT_LOG_TRACING_START_TIME >> /data/local/tmp/eventlog.winscope', + ) } diff --git a/tools/winscope/src/app/trace_info.ts b/tools/winscope/src/app/trace_info.ts index 01a89c4d1..ec2295761 100644 --- a/tools/winscope/src/app/trace_info.ts +++ b/tools/winscope/src/app/trace_info.ts @@ -16,18 +16,19 @@ import {TraceType} from 'trace/trace_type'; -const WINDOW_MANAGER_ICON = 'web'; -const SURFACE_FLINGER_ICON = 'layers'; -const SCREEN_RECORDING_ICON = 'videocam'; -const TRANSACTION_ICON = 'show_chart'; -const WAYLAND_ICON = 'filter_none'; -const PROTO_LOG_ICON = 'notes'; -const SYSTEM_UI_ICON = 'filter_none'; -const LAUNCHER_ICON = 'filter_none'; -const IME_ICON = 'keyboard_alt'; -const ACCESSIBILITY_ICON = 'accessibility_new'; -const TAG_ICON = 'details'; -const TRACE_ERROR_ICON = 'warning'; +const WINDOW_MANAGER_ICON = "web"; +const SURFACE_FLINGER_ICON = "layers"; +const SCREEN_RECORDING_ICON = "videocam"; +const TRANSACTION_ICON = "show_chart"; +const WAYLAND_ICON = "filter_none"; +const PROTO_LOG_ICON = "notes"; +const SYSTEM_UI_ICON = "filter_none"; +const LAUNCHER_ICON = "filter_none"; +const IME_ICON = "keyboard_alt"; +const ACCESSIBILITY_ICON = "accessibility_new"; +const TAG_ICON = "details"; +const TRACE_ERROR_ICON = "warning"; +const EVENT_LOG_ICON = "description"; interface TraceInfoMap { [key: number]: { @@ -118,4 +119,9 @@ export const TRACE_INFO: TraceInfoMap = { icon: TRACE_ERROR_ICON, color: '#D73027', }, + [TraceType.EVENT_LOG]: { + name: "Event Log", + icon: EVENT_LOG_ICON, + color: "#fdd663", + } }; diff --git a/tools/winscope/src/trace/trace_type.ts b/tools/winscope/src/trace/trace_type.ts index f13001e39..3442f5db7 100644 --- a/tools/winscope/src/trace/trace_type.ts +++ b/tools/winscope/src/trace/trace_type.ts @@ -33,6 +33,7 @@ export enum TraceType { INPUT_METHOD_CLIENTS, INPUT_METHOD_MANAGER_SERVICE, INPUT_METHOD_SERVICE, + EVENT_LOG, TAG, ERROR, TEST_TRACE_STRING, diff --git a/tools/winscope/src/trace_collection/trace_collection_utils.ts b/tools/winscope/src/trace_collection/trace_collection_utils.ts index 7d436dcba..bc960483b 100644 --- a/tools/winscope/src/trace_collection/trace_collection_utils.ts +++ b/tools/winscope/src/trace_collection/trace_collection_utils.ts @@ -202,6 +202,12 @@ export const traceConfigurations: TraceConfigurationMap = { run: false, config: undefined, }, + eventlog: { + name: "Event Log", + isTraceCollection: undefined, + run: false, + config: undefined, + }, }; export const TRACES: {[key: string]: TraceConfigurationMap} = { @@ -213,6 +219,7 @@ export const TRACES: {[key: string]: TraceConfigurationMap} = { proto_log: traceConfigurations['proto_log'], screen_recording: traceConfigurations['screen_recording'], ime_tracing: traceConfigurations['ime_tracing'], + eventlog: traceConfigurations["eventlog"], }, arc: { wayland_trace: traceConfigurations['wayland_trace'],